Class: CodiceFiscale::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/codice_fiscale/configuration.rb

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



3
4
5
# File 'lib/codice_fiscale/configuration.rb', line 3

def initialize
  @options = default
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



20
21
22
23
24
# File 'lib/codice_fiscale/configuration.rb', line 20

def method_missing name, *args, &block
  name = remove_final_equal_char(name).to_sym
  return @options[name] if args.empty? and !block_given?
  @options[name] = block_given? && block || args.first
end

Instance Method Details

#csv_folderObject



7
8
9
# File 'lib/codice_fiscale/configuration.rb', line 7

def csv_folder
  File.join File.dirname(__FILE__), 'codes'
end

#defaultObject



11
12
13
14
15
16
17
18
# File 'lib/codice_fiscale/configuration.rb', line 11

def default
  {
    :city_codes_csv_path => "#{csv_folder}/city_codes.csv",
    :country_codes_csv_path => "#{csv_folder}/country_codes.csv",
    :city_code => nil,
    :country_code => nil
  }
end

#remove_final_equal_char(string) ⇒ Object



26
27
28
29
# File 'lib/codice_fiscale/configuration.rb', line 26

def remove_final_equal_char string
  parts = string.to_s.scan(/\A(.*)(\=)\z/).flatten
  parts.empty? ? string : parts.first
end