Class: ActiveAdmin::CepAutoComplete::Renderer

Inherits:
Object
  • Object
show all
Defined in:
lib/active_admin/cep_auto_complete/renderer.rb

Instance Method Summary collapse

Constructor Details

#initializeRenderer

Returns a new instance of Renderer.



4
5
6
# File 'lib/active_admin/cep_auto_complete/renderer.rb', line 4

def initialize
  @renderers = DEFAULT_FIELDS.map { |field| [field, default_renderer_for(field)] }.to_h.with_indifferent_access
end

Instance Method Details

#field(field_name, &block) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/active_admin/cep_auto_complete/renderer.rb', line 8

def field(field_name, &block)
  @renderers[field_name] =
    if block_given?
      block
    else
      default_renderer_for(field_name)
    end
end

#render(query) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/active_admin/cep_auto_complete/renderer.rb', line 17

def render(query)
  object = build_object(query)

  @renderers.keys.map do |field|
    value = @renderers[field].call(object)
    object.public_send("#{field}=", value)
    [field, value]
  end.to_h
end