У меня есть приложение с двумя рельсами.Допустим, App1
и App2
.App1
имеет модель, которая является ядром моего бизнеса, и App2
хотел использовать это.
Один из подходов, о котором я думал, был создать PORO
, который имитирует функциональность ActiveRecord, но вместо взаимодействия с БД, он будет взаимодействовать с App1
через HTTP
или https
.
Например:
class User < NetworkRecord
def self.find(id)
new.find(id)
end
def find(id)
endpoint = 'https:app1.com/user'
get(endpoint, { id: id })
end
end
class NetworkRecord
def get(endpoint, params)
Httparty.get(endpoint, params)
end
end
Я не уверен, является ли этот подход слишком разумным или правильным, потому что мы даем некоторую функциональность ActiveModel
объекту, не наследуя его.
Если вы знаете какой-либо лучший способ добиться того же, пожалуйста, дайте мне знать.