REST API Client Consumer

Witam,

chcialbym stworzyc aplikacje Rails wykorzystujaca REST API innego serwisu: logowanie, tworzenie, update usuwanie. Jak najlepiej podejsc do takiego tematu w Rails? Gdzie przechowywac logike takiego serwisu? Czy mam tworzyc modele w ActiveRecord czy raczej lib/ folder? Co proponujecie?

Kod aplikacji rails jak wiadomo trzymamy w app/. Można tam tworzyć dowolne podkatalogi (nie trzeba nic grzebać w load_path, wystarczy restart serwera) więc proponuję utworzyć jakiś podkatalog typu app/services, app/lib.

Jeśli masz czas polecam książkę “Enterprise rails” (polski tytuł to “Rails. Projektowanie systemów klasy enterprise”). Z tego co napisałeś to ta książka posiada odpowiednie informacje, które pozwolą ci zbudować dobrą apkę.

Pozdrawiam.

Hej,

ksiazka Enterprise rails jest dosyc stara (2008) Rails 2. Znalazlem inna ksiazke ktora tlumaczy jak budowac API w rails oraz jak konsumowac dane pochodzace z API innych serwisow: Service-Oriented Design with Ruby and Rails

Jednakze jak na poczatek nie widze istotnych wskazowek gdzie trzymac kod odpowiedzialny za klienta REST API.

Jakie jest najlepsze podejscie w takim przypadku?

Jeśli zamierzasz wykorzystać to potem, gdzie indziej, to możesz spróbować podejścia z gemem (na początku trzymaj go w vendor/, jak już będzie gotowy, wyrzuć go poza aplikację).

Jeśli nie, stwórz sobie tak jak Ci podali, w app, np katalog api_clients i tam wrzuć liba do komunikacji

Na przykład:

.
└── app
    └── api_clients
        └── twillo_client
            ├── base.rb
            └── connection.rb

a dalej to już

module TwilloClient
end

module TwilloClient
  class Base
  end
end

itd. :slight_smile:

Dzieki wielkie za informacje :smile:

Pozdrawiam