Class: Propublica::Nonprofits::Organization::DynamicParser

Inherits:
Object
  • Object
show all
Defined in:
lib/propublica/nonprofits/organization/dynamic_parser.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ DynamicParser

Returns a new instance of DynamicParser.



15
16
17
# File 'lib/propublica/nonprofits/organization/dynamic_parser.rb', line 15

def initialize(attributes)
  @attributes = attributes || {}
end

Class Method Details

.fields(*fields) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/propublica/nonprofits/organization/dynamic_parser.rb', line 5

def self.fields(*fields)
  @fields = fields
  fields.each do |field|
    define_method field do
      vars = self.instance_variable_get("@attributes")
      vars.fetch(field.to_s) { raise_field_fetch_error(field) }
    end
  end
end

Instance Method Details

#fieldsObject



19
20
21
# File 'lib/propublica/nonprofits/organization/dynamic_parser.rb', line 19

def fields
  self.class.instance_variable_get("@fields")
end