Class: OmniAuth::Strategies::CronofyBase

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/cronofy_base.rb

Direct Known Subclasses

Cronofy, CronofyServiceAccount

Instance Method Summary collapse

Instance Method Details

#api_urlObject



6
7
8
# File 'lib/omniauth/strategies/cronofy_base.rb', line 6

def api_url
  ENV['CRONOFY_API_URL'] || data_center_url(:api, data_center_env) || "https://api.cronofy.com"
end

#app_urlObject



10
11
12
# File 'lib/omniauth/strategies/cronofy_base.rb', line 10

def app_url
  ENV['CRONOFY_APP_URL'] || data_center_url(:app, data_center_env) || "https://app.cronofy.com"
end

#clientObject



53
54
55
# File 'lib/omniauth/strategies/cronofy_base.rb', line 53

def client
  ::OAuth2::Client.new(options.client_id, options.client_secret, client_options)
end

#client_optionsObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/omniauth/strategies/cronofy_base.rb', line 25

def client_options
  client_options = deep_symbolize(options.client_options)

  unless client_options[:site]
    if options.data_center
      client_options[:site] = data_center_url(:app, options.data_center)
    end

    unless client_options[:site]
      client_options[:site] = app_url
    end
  end

  unless client_options[:api_url]
    if options.data_center
      client_options[:api_url] = data_center_url(:api, options.data_center)
    end

    unless client_options[:api_url]
      client_options[:api_url] = api_url
    end
  end

  log :debug, "site: #{client_options[:site]}, api_url: #{client_options[:api_url]}"

  client_options
end

#data_center_envObject



14
15
16
# File 'lib/omniauth/strategies/cronofy_base.rb', line 14

def data_center_env
  ENV['CRONOFY_DATA_CENTER'] || ENV['CRONOFY_DATA_CENTRE']
end

#data_center_url(type, value) ⇒ Object



18
19
20
21
22
23
# File 'lib/omniauth/strategies/cronofy_base.rb', line 18

def data_center_url(type, value)
  case value.to_s
  when 'de'
    "https://#{type}-#{value}.cronofy.com"
  end
end