Module: Fera::Apps::Models::Store
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/fera/apps/concerns/models/store.rb
Instance Method Summary collapse
- #check_fera_connection ⇒ Object
- #connected_to_fera? ⇒ Boolean (also: #fera_connected?)
- #disconnect_fera! ⇒ Object
- #install_fera!(request) ⇒ Object
- #install_fera_webhooks! ⇒ Object
Instance Method Details
#check_fera_connection ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/fera/apps/concerns/models/store.rb', line 40 def check_fera_connection return false unless connected_to_fera? fera_api do ::Fera::Store.current end true rescue ActiveResource::ConnectionError false end |
#connected_to_fera? ⇒ Boolean Also known as: fera_connected?
35 36 37 |
# File 'lib/fera/apps/concerns/models/store.rb', line 35 def connected_to_fera? fera_auth_token.present? end |
#disconnect_fera! ⇒ Object
52 53 54 55 56 |
# File 'lib/fera/apps/concerns/models/store.rb', line 52 def disconnect_fera! revoke_fera_token! if connected_to_fera? remove_fera_attributes! end |
#install_fera!(request) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fera/apps/concerns/models/store.rb', line 20 def install_fera!(request) run_callbacks(:install_fera) do auth_data = request.env['omniauth.auth']['credentials'] self.fera_auth_token = auth_data['token'] self.fera_domain = request.params[:store_domain] save! fera_api do install_fera_webhooks! end end end |
#install_fera_webhooks! ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/fera/apps/concerns/models/store.rb', line 58 def install_fera_webhooks! # Here is some example code you can use to install webhooks: # # hook = Fera::Webhook.where(event_name: :review_create).try(:first) # hook ||= Fera::Webhook.new(event_name: :review_create) # hook.is_enabled = true # hook.url = "#{ ENV.fetch('BASE_APP_URL', nil) }/fera/hooks/review_create" # hook.save! end |