Class: RubyPtvApi::Operation::XLocate::Base

Inherits:
Base
  • Object
show all
Defined in:
lib/ruby_ptv_api/operation/x_locate/base.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#coord_format, #profile

Instance Method Summary collapse

Methods inherited from Base

#connection, #default_params, #demodulize, #demodulized_name, #endpoint, #parent_module_name, #post, #ptv_function, #underscore, #uri

Instance Attribute Details

#result_field_arrayObject (readonly)

Returns the value of attribute result_field_array.



5
6
7
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 5

def result_field_array
  @result_field_array
end

#search_option_base_arrayObject (readonly)

Returns the value of attribute search_option_base_array.



5
6
7
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 5

def search_option_base_array
  @search_option_base_array
end

#sort_option_arrayObject (readonly)

Returns the value of attribute sort_option_array.



5
6
7
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 5

def sort_option_array
  @sort_option_array
end

Instance Method Details

#additional_fieldsObject



40
41
42
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 40

def additional_fields 
  @result_field_array || []
end

#additional_fields=(array) ⇒ Object



35
36
37
38
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 35

def additional_fields=(array)
  check_additional_fields(array)
  @result_field_array = array
end

#call(options: nil, sorting: nil, additional_fields: nil) ⇒ Object



11
12
13
14
15
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 11

def call(options: nil, sorting: nil, additional_fields: nil)
  extra_params(options, sorting, additional_fields)
  response = post(params)
  parse_response(response)
end

#extra_params(opts, sort, fields) ⇒ Object



44
45
46
47
48
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 44

def extra_params(opts, sort, fields)
  self.options = opts if opts
  self.sorting = sort if sort
  self.additional_fields = fields if fields
end

#optionsObject



22
23
24
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 22

def options
  @search_option_base_array || []
end

#options=(opts) ⇒ Object



17
18
19
20
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 17

def options=(opts)
  raise 'Not implemented'
  @search_option_base_array = opts
end

#ptv_pathObject



7
8
9
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 7

def ptv_path
  'xlocate/rs/XLocate'
end

#sortingObject



31
32
33
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 31

def sorting
  @sort_option_array || []
end

#sorting=(array) ⇒ Object



26
27
28
29
# File 'lib/ruby_ptv_api/operation/x_locate/base.rb', line 26

def sorting=(array)
  raise "Required SortOption Model class" unless array.map{|k| k.is_a?(RubyPtvApi::Model::XLocate::SortOption)}.inject(:&)
  @sort_option_array = array
end