Class: BeenVerified::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/beenverified/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

attr_accessor :consumer



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/beenverified/client.rb', line 6

def initialize(options = {})
  options = {
    :debug  => false,
    :format => BeenVerified::FORMAT_XML
  }.merge(options)

  # symbolize keys
  options.map do |k,v|
    options[k.to_sym] = v
  end
  site = if options[:debug]
    BeenVerified::DEBUG_API_SERVER
  else
    BeenVerified::API_SERVER          
  end
  
  raise BeenVerified::ArgumentError, "OAuth Consumer Key and Secret required" if options[:consumer_key].nil? || options[:consumer_secret].nil?
  @consumer = OAuth::Consumer.new(options[:consumer_key], options[:consumer_secret],{
    :site=>site,
    :scheme=>:header,
    :http_method=>:post,
    :request_token_path=>BeenVerified::REQUEST_TOKEN_PATH,
    :access_token_path=>BeenVerified::ACCESS_TOKEN_PATH,
    :authorize_path=>BeenVerified::AUTHORIZE_PATH
   })
  @debug    = options[:debug]
  @format   = options[:format]
 # @app_id   = options[:app_id]
  if options[:access_token] && options[:access_token_secret]
    @access_token = OAuth::AccessToken.new(@consumer, options[:access_token], options[:access_token_secret])
  else
    @access_token = nil
  end
  if options[:request_token] && options[:request_token_secret]
    @request_token = OAuth::RequestToken.new(@consumer, options[:request_token], options[:request_token_secret])
  else
    @request_token = nil
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missingObject Also known as: method_missing_with_type_filter



88
# File 'lib/beenverified/client.rb', line 88

alias_method :method_missing_with_type_filter, :method_missing

Instance Attribute Details

#access_tokenObject (readonly)

Returns the value of attribute access_token.



3
4
5
# File 'lib/beenverified/client.rb', line 3

def access_token
  @access_token
end

#consumerObject (readonly)

Returns the value of attribute consumer.



3
4
5
# File 'lib/beenverified/client.rb', line 3

def consumer
  @consumer
end

#formatObject (readonly)

Returns the value of attribute format.



3
4
5
# File 'lib/beenverified/client.rb', line 3

def format
  @format
end

#request_tokenObject (readonly)

Returns the value of attribute request_token.



3
4
5
# File 'lib/beenverified/client.rb', line 3

def request_token
  @request_token
end

Instance Method Details

#authorization_urlObject



53
54
55
56
# File 'lib/beenverified/client.rb', line 53

def authorization_url
  raise BeenVerified::ArgumentError, "call #get_request_token first" if @request_token.nil?
  request_token.authorize_url
end

#convert_to_access_tokenObject



58
59
60
61
# File 'lib/beenverified/client.rb', line 58

def convert_to_access_token
  raise BeenVerified::ArgumentError, "call #get_request_token and have user authorize the token first" if @request_token.nil?
  @access_token = request_token.get_access_token
end

#get_request_token(force_token_regeneration = false) ⇒ Object



46
47
48
49
50
51
# File 'lib/beenverified/client.rb', line 46

def get_request_token(force_token_regeneration = false)
  if force_token_regeneration || @request_token.nil?
    @request_token = consumer.get_request_token
  end
  @request_token
end

#user(options = {}) ⇒ Object



63
64
65
66
67
68
# File 'lib/beenverified/client.rb', line 63

def user(options={})
  raise BeenVerified::ArgumentError, "OAuth Access Token Required" unless @access_token
  response = get(BeenVerified::USER_API_PATH + ".#{format}", options)
  response
  BeenVerified::Response.new(response.body).user
end