Class: Monee::Config

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/monee/config.rb

Overview

Singleton class that can be initiated only once to hold the configuration values

Direct Known Subclasses

NoConfig

Constant Summary collapse

DEFAULT_RATE =

this is default rate, against this value other currency rates are calculated

1

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#base_currencyObject

Returns the value of attribute base_currency.



13
14
15
# File 'lib/monee/config.rb', line 13

def base_currency
  @base_currency
end

#currency_ratesObject

Returns the value of attribute currency_rates.



13
14
15
# File 'lib/monee/config.rb', line 13

def currency_rates
  @currency_rates
end

Instance Method Details

#available_currenciesArray

retrieves all the currencies configured including the base

Returns:

  • (Array)


41
42
43
44
# File 'lib/monee/config.rb', line 41

def available_currencies
  set_default_rate
  currency_rates.keys
end

#exists?(code) ⇒ Boolean

checks if the code exists in the config

Parameters:

  • code (String)

    code of the currency

Returns:

  • (Boolean)


34
35
36
# File 'lib/monee/config.rb', line 34

def exists?(code)
  available_currencies.include?(code)
end

#fetch_rate(code) ⇒ Numeric

fetches the rate of a currency by code of the currency

Parameters:

  • code (String)

    code of the currency

Returns:



26
27
28
# File 'lib/monee/config.rb', line 26

def fetch_rate(code)
  currency_rates[code]
end

#resetvoid

This method returns an undefined value.

to reset the configuration values



17
18
19
20
# File 'lib/monee/config.rb', line 17

def reset
  self.base_currency = nil
  self.currency_rates = nil
end

#set_default_ratevoid

This method returns an undefined value.

sets the default rate to the base currency as 1



49
50
51
# File 'lib/monee/config.rb', line 49

def set_default_rate
  currency_rates[base_currency] = DEFAULT_RATE
end