Class: DeGiro::UserData

Inherits:
Object
  • Object
show all
Defined in:
lib/degiro/user_data.rb

Constant Summary collapse

USER_FIELDS =
[
  'id',
  'intAccount'
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ UserData

Returns a new instance of UserData.



10
11
12
13
14
15
# File 'lib/degiro/user_data.rb', line 10

def initialize(data)
  @map = USER_FIELDS.each_with_object({}) do |user_field, acc|
    raise MissingUserFieldError, "Could not find user field '#{user_field}'" unless data.key?(user_field)
    acc[user_field.gsub(/(.)([A-Z])/, '\1_\2').downcase] = data[user_field]
  end
end

Instance Method Details

#[](user_field) ⇒ Object



17
18
19
20
# File 'lib/degiro/user_data.rb', line 17

def [](user_field)
  raise IncorrectUserFieldError, "Could not find user field '#{user_field}'" unless @map.key?(user_field)
  @map[user_field]
end