Module: Fera::Apps::Models::Store

Extended by:
ActiveSupport::Concern
Defined in:
lib/fera/apps/concerns/models/store.rb

Instance Method Summary collapse

Instance Method Details

#check_fera_connectionObject



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?

Returns:

  • (Boolean)


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