module Apruve

Constants

LOCAL
PROD
TEST
VERSION

Public Class Methods

button() click to toggle source
# File lib/apruve.rb, line 51
def button
  '<div id="apruveDiv"></div>'
end
client() click to toggle source
# File lib/apruve.rb, line 38
def client
  Thread.current[:client]
end
client=(c) click to toggle source
# File lib/apruve.rb, line 42
def client=(c)
  Thread.current[:client] = c
end
config() click to toggle source
# File lib/apruve.rb, line 22
def config
  if Thread.current[:config].nil?
    Thread.current[:config] = {
      scheme: 'http',
      host: 'localhost',
      port: 3000,
      version: 'v4'
    }
  end
  Thread.current[:config]
end
config=(c) click to toggle source
# File lib/apruve.rb, line 34
def config=(c)
  Thread.current[:config] = c
end
configure(api_key=nil, environment=LOCAL, options={}) click to toggle source
# File lib/apruve.rb, line 17
def configure(api_key=nil, environment=LOCAL, options={})
  self.config = config.merge(configure_environment(environment)).merge(options)
  self.client = Apruve::Client.new(api_key, config)
end
default_currency() click to toggle source
# File lib/apruve.rb, line 55
def default_currency
  'USD'
end
delete(*args, &block)
Alias for: unstore
get(*args, &block) click to toggle source
# File lib/apruve.rb, line 59
def get(*args, &block)
  self.client.get *args
rescue URI::InvalidURIError
  handle_invalid_url(args[0])
end
js(display=nil) click to toggle source
# File lib/apruve.rb, line 46
def js(display=nil)
  display_param = display.nil? ? '' : "?display=#{display}"
  "<script type=\"text/javascript\" src=\"#{js_url}#{display_param}\"></script>"
end
patch(*args, &block) click to toggle source
# File lib/apruve.rb, line 77
def patch(*args, &block)
  self.client.patch *args
rescue URI::InvalidURIError
  handle_invalid_url(args[0])
end
post(*args, &block) click to toggle source
# File lib/apruve.rb, line 65
def post(*args, &block)
  self.client.post *args
rescue URI::InvalidURIError
  handle_invalid_url(args[0])
end
put(*args, &block) click to toggle source
# File lib/apruve.rb, line 71
def put(*args, &block)
  self.client.put *args
rescue URI::InvalidURIError
  handle_invalid_url(args[0])
end
unstore(*args, &block) click to toggle source
# File lib/apruve.rb, line 83
def unstore(*args, &block)
  self.client.delete *args
rescue URI::InvalidURIError
  handle_invalid_url(args[0])
end
Also aliased as: delete

Private Class Methods

configure_environment(env) click to toggle source
# File lib/apruve.rb, line 101
def configure_environment(env)
  if env == PROD
    { scheme: 'https', host: 'app.apruve.com', port: 443 }
  elsif env == TEST
    { scheme: 'https', host: 'test.apruve.com', port: 443 }
  elsif env == LOCAL
    { scheme: 'http', host: 'localhost', port: 3000 }
  else
    raise 'unknown environment'
  end
end
handle_invalid_url(url) click to toggle source

run configure on import so we have a default configuration that will run without an api-key

# File lib/apruve.rb, line 96
def handle_invalid_url(url)
  client.config[:logger].warn 'Invalid URL'
  raise Apruve::NotFound.new(body: {}, status: 404, headers: {}, url: url)
end
js_url() click to toggle source
# File lib/apruve.rb, line 113
def js_url
  port_param = [443, 80].include?(config[:port]) ? '' : ":#{config[:port]}"
  "#{config[:scheme]}://#{config[:host]}#{port_param}/js/v4/apruve.js"
end