Mam aplikację Sinatra, która odpowiada na wywołania api i aplikację Rails, która obsługuje raporty i wszystkie ładne rzeczy, takie jak wykresy i strona internetowa. Oba muszą mieć dostęp do wspólnego zestawu modeli (np. Konta, witryny itp.).Udostępnianie kodu modelu między Sinatra i Railsami
Mój problem polega na tym, w jaki sposób skutecznie udostępniać kod między dwiema aplikacjami? Na przykład, jeśli edytuję model kont w grze Sinatra, nie chcę pamiętać o duplikowaniu tych samych zmian w aplikacji Rails. Wolałbym nie używać montażu Rails Rack, ponieważ dwie aplikacje będą znajdować się w oddzielnych klastrach.
Widziałem propozycje na StackOverflow o:
- Git Moduły
- Symlinks (nie będzie działać z systemem Windows, który wykorzystuje mój kolega)
- Rails plugins (wątpię, to będzie działać z Sinatra)
- Ruby Gems (myślę, że to jest zbyt przesadą zaledwie danych modelu, ale to tylko moje zdanie)
dwie aplikacje ponownie w różnych repozytoriach. Zasadniczo najpierw rozwijam API, a następnie logikę specyficzną dla konta później w aplikacji Rails (głównie dlatego, że Rails ma dużo więcej bibliotek, które ułatwiają rozwijanie tego rodzaju rzeczy).
Jak rozwiązać ten problem?
Czy aplikacje w tym samym repozytorium lub różnych te? –
Znajdują się one w różnych repozytoriach :) Czy poleciłbyś je wtedy w tym samym repozytorium? – parasquid
Nie, zastanawiałem się, ponieważ opcje zmieniają się nieco w zależności. Osobiście uważam, że albo moduły git, albo prywatny klejnot są najlepszymi opcjami. –