Class: SmartyStreetsApi::Decorators::BaseDecorator
- Inherits:
-
Object
- Object
- SmartyStreetsApi::Decorators::BaseDecorator
show all
- Defined in:
- lib/smartystreets_api/decorators/base_decorator.rb
Instance Method Summary
collapse
Instance Method Details
#call(address_object) ⇒ Object
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/smartystreets_api/decorators/base_decorator.rb', line 2
def call(address_object)
return if !address_object || !address_object[:components]
decorated_components = self.class.private_instance_methods(false).inject({}) do |decorated_address, attribute|
components = self.send(attribute.to_sym)
array_values = components.map do |component_name|
if address_object[:components] && address_object[:components][component_name]
address_object[:components][component_name]
else
nil
end
end.compact
decorated_address[attribute] = array_values.empty? ? nil : array_values.join(" ")
decorated_address
end
remove_empty_address_lines!(decorated_components)
decorated_components
end
|