Class: FirmResult

Inherits:
Object
  • Object
show all
Defined in:
lib/mas/firm_result.rb

Constant Summary collapse

DIRECTLY_MAPPED_FIELDS =
[
  :address_line_one,
  :address_line_two,
  :address_town,
  :address_county,
  :address_postcode,
  :website_address,
  :email_address,
  :free_initial_meeting,
  :minimum_fixed_fee,
  :other_advice_methods,
  :in_person_advice_methods,
  :investment_sizes,
  :adviser_accreditation_ids,
  :adviser_qualification_ids
]
TYPES_OF_ADVICE_FIELDS =
[
  :retirement_income_products,
  :pension_transfer,
  :options_when_paying_for_care,
  :equity_release,
  :inheritance_tax_planning,
  :wills_and_probate
]

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ FirmResult

Returns a new instance of FirmResult.



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/mas/firm_result.rb', line 36

def initialize(data)
  source = data['_source']
  @id    = source['_id']
  @name  = source['registered_name']
  @total_advisers   = source['advisers'].count
  @closest_adviser  = data['sort'].last
  @telephone_number = source['telephone_number']

  (DIRECTLY_MAPPED_FIELDS + TYPES_OF_ADVICE_FIELDS).each do |field|
    instance_variable_set("@#{field}", source[field.to_s])
  end
end

Instance Method Details

#closest_adviserObject



61
62
63
64
65
66
67
# File 'lib/mas/firm_result.rb', line 61

def closest_adviser
  if @closest_adviser < 1
    I18n.t('search.result.miles_away_alt')
  else
    "#{format('%.1f', @closest_adviser)} #{I18n.t('search.result.miles_away')}"
  end
end

#minimum_fixed_fee?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/mas/firm_result.rb', line 53

def minimum_fixed_fee?
  minimum_fixed_fee.present?
end

#minimum_pot_size_idObject



57
58
59
# File 'lib/mas/firm_result.rb', line 57

def minimum_pot_size_id
  investment_sizes.first
end

#telephone_numberObject



69
70
71
72
73
# File 'lib/mas/firm_result.rb', line 69

def telephone_number
  return nil unless @telephone_number

  UKPhoneNumbers.format(@telephone_number)
end

#types_of_adviceObject



49
50
51
# File 'lib/mas/firm_result.rb', line 49

def types_of_advice
  TYPES_OF_ADVICE_FIELDS.select { |field| public_send(field).nonzero? }
end