Class: SearchApi::GoogleSearchOptions

Inherits:
Object
  • Object
show all
Includes:
DynamicSchema::Definable, Helpers
Defined in:
lib/searchapi/google_search_options.rb

Constant Summary collapse

DEVICES =
%w[ desktop mobile tablet ]
SAFE_SEARCH =
%w[ active off ]
TIME_PERIODS =
%w[ last_hour last_day last_week last_month last_year ]
OPTIMIZATION_STRATEGIES =
%w[ performance ads ]
NORMALIZE_DOWNCASE =
->(v) { v.to_s.downcase }

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#string_camelize

Constructor Details

#initialize(options = {}, api_options: nil) ⇒ GoogleSearchOptions

Returns a new instance of GoogleSearchOptions.



55
56
57
58
# File 'lib/searchapi/google_search_options.rb', line 55

def initialize( options = {}, api_options: nil )
  @options = self.class.builder.build( options || {} )
  @options = api_options.merge( @options ) if api_options
end

Class Method Details

.build(options = nil, &block) ⇒ Object



47
48
49
# File 'lib/searchapi/google_search_options.rb', line 47

def self.build( options = nil, &block )
  new( api_options: builder.build( options, &block ) )
end

.build!(options = nil, &block) ⇒ Object



51
52
53
# File 'lib/searchapi/google_search_options.rb', line 51

def self.build!( options = nil, &block )
  new( api_options: builder.build!( options, &block ) )
end

Instance Method Details

#to_hObject



60
61
62
63
64
# File 'lib/searchapi/google_search_options.rb', line 60

def to_h
  result = @options.to_h
  result[ :engine ] = 'google'
  result
end