Class: Overlord::GoogleBase

Inherits:
Object
  • Object
show all
Defined in:
lib/overlord/google_base.rb

Direct Known Subclasses

GoogleFeedRequest, GoogleSearchRequest

Class Method Summary collapse

Class Method Details

.api_key_idObject



10
11
12
# File 'lib/overlord/google_base.rb', line 10

def self.api_key_id
  @api_key_id
end

.api_key_id=(val) ⇒ Object

api_key_id: Valid Google access key (optional)



6
7
8
# File 'lib/overlord/google_base.rb', line 6

def self.api_key_id=(val)
  @api_key_id = val
end

.build_google_query(query_options) ⇒ Object

Add standard items to the google query



24
25
26
27
28
29
# File 'lib/overlord/google_base.rb', line 24

def self.build_google_query(query_options)
  key = self.api_key_id || GlobalConfig.google_ajax_api_key rescue ''
  query_options[:v] = '1.0'
  query_options[:key] = key if key
  query_options
end

.get(uri, options = {}) ⇒ Object

Gets and parses json from a given url uri: Uri from which to obtain json options: Options to be sent

:query - query
:headers - headers


36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/overlord/google_base.rb', line 36

def self.get(uri, options = {})
  header_params = { "UserAgent" => "Ruby/#{RUBY_VERSION}" }
  ref = self.referer || GlobalConfig.request_referer rescue nil
  header_params["Referer"] = ref if ref
  header_params = header_params.merge(options[:headers]) if options[:headers]
  # to_params comes from the httparty gem
  params = "?#{options[:query].to_params}" if options[:query]
  buffer = open("#{uri}#{params}", header_params).read
  
  # Try the standard parser
  begin
    return JSON.parse(buffer)
  rescue => ex
    puts ex
  end
  
  # Try the crack parser
  begin
    return Crack::JSON.parse(json)
  rescue => ex
    puts ex
  end
  
  {}
end

.parse_name(name) ⇒ Object



62
63
64
65
66
67
68
# File 'lib/overlord/google_base.rb', line 62

def self.parse_name(name)
  return '' if name.blank?
  names = name.split(' ')
  return '' if names.length <= 0
  return [names[0], names[0]] if names.length == 1
  [names[0], names.slice(1, names.length).join(' ')]
end

.refererObject



19
20
21
# File 'lib/overlord/google_base.rb', line 19

def self.referer
  @referer
end

.referer=(val) ⇒ Object

referer: Url of the website making request. Required by Google.



15
16
17
# File 'lib/overlord/google_base.rb', line 15

def self.referer=(val)
  @referer = val
end