module ScriptedClient

Constants

API_VERSION

Public Class Methods

access_token() click to toggle source
# File lib/scripted_client.rb, line 6
def self.access_token
  @@access_token || fail("You must set #{ name }.access_token")
end
access_token=(_access_token) click to toggle source
# File lib/scripted_client.rb, line 10
def self.access_token=(_access_token)
  @@access_token = _access_token
  reset_resource_site
  @@access_token
end
base_host() click to toggle source
# File lib/scripted_client.rb, line 39
def self.base_host
  case env
  when :sandbox
    'scripted-sandbox.herokuapp.com'
  when :production
    'api.scripted.com'
  when :development
    'localhost:3000'
  end
end
base_url() click to toggle source
# File lib/scripted_client.rb, line 54
def self.base_url
  "#{ protocol }://#{ base_host }"
end
env() click to toggle source
# File lib/scripted_client.rb, line 26
def self.env
  @@env
end
env=(_env) click to toggle source
# File lib/scripted_client.rb, line 30
def self.env=(_env)
  unless [:development, :sandbox, :production].include?(_env)
    fail "#{ name }.env must be either :sandbox or :production"
  end
  @@env = _env
  reset_resource_site
  @@env
end
organization_key() click to toggle source
# File lib/scripted_client.rb, line 16
def self.organization_key
  @@organization_key || fail("You must set #{ name }.organization_key")
end
organization_key=(_organization_key) click to toggle source
# File lib/scripted_client.rb, line 20
def self.organization_key=(_organization_key)
  @@organization_key = _organization_key
  reset_resource_site
  @@organization_key
end
prefix() click to toggle source
# File lib/scripted_client.rb, line 58
def self.prefix
  "/#{ organization_key }/#{ API_VERSION }/"
end
protocol() click to toggle source
# File lib/scripted_client.rb, line 50
def self.protocol
  env == :development ? 'http' : 'https'
end
reset_resource_site() click to toggle source
# File lib/scripted_client.rb, line 62
def self.reset_resource_site
  if @@organization_key && @@access_token
    ScriptedClient::Resource.site = base_url
    ScriptedClient::Resource.prefix = prefix
    ScriptedClient::Resource.descendants.each(&:setup_prefix)
    ScriptedClient::Resource.headers['Authorization'] = "Bearer #{ access_token }"
  end
end