class FirmResult
Constants
- ADVICE_TYPE_NOT_SELECTED_VALUE
- DIRECTLY_MAPPED_FIELDS
- LESS_THAN_FIFTY_K_ID
- TYPES_OF_ADVICE_FIELDS
Attributes
closest_adviser[RW]
id[R]
name[R]
total_advisers[R]
total_offices[R]
Public Class Methods
new(data)
click to toggle source
# File lib/mas/firm_result.rb, line 50 def initialize(data) source = data['_source'] @id = source['_id'] @name = source['registered_name'] @advisers = source['advisers'] @total_advisers = source['advisers'].count @closest_adviser = data['sort'] ? data['sort'].first : 0 @telephone_number = source['telephone_number'] @offices = source['offices'] @total_offices = source['offices'].count (DIRECTLY_MAPPED_FIELDS + TYPES_OF_ADVICE_FIELDS).each do |field| instance_variable_set("@#{field}", source[field.to_s]) end end
Public Instance Methods
advisers()
click to toggle source
# File lib/mas/firm_result.rb, line 66 def advisers @advisers.map { |adviser_data| AdviserResult.new(adviser_data) } end
includes_advice_type?(advice_type)
click to toggle source
# File lib/mas/firm_result.rb, line 76 def includes_advice_type?(advice_type) public_send(advice_type) > ADVICE_TYPE_NOT_SELECTED_VALUE end
minimum_fixed_fee?()
click to toggle source
# File lib/mas/firm_result.rb, line 84 def minimum_fixed_fee? minimum_fixed_fee && minimum_fixed_fee.nonzero? end
minimum_pot_size?()
click to toggle source
# File lib/mas/firm_result.rb, line 92 def minimum_pot_size? minimum_pot_size_id > LESS_THAN_FIFTY_K_ID end
minimum_pot_size_id()
click to toggle source
# File lib/mas/firm_result.rb, line 88 def minimum_pot_size_id investment_sizes.first end
offices()
click to toggle source
# File lib/mas/firm_result.rb, line 70 def offices @offices .map { |office_data| OfficeResult.new(office_data) } .sort { |a, b| a.address_town <=> b.address_town } end
types_of_advice()
click to toggle source
# File lib/mas/firm_result.rb, line 80 def types_of_advice TYPES_OF_ADVICE_FIELDS.select { |field| public_send(field).nonzero? } end