active_admin-cep_auto_complete 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4982201501ca1c420891608fc3667e0ec8dd8785
4
- data.tar.gz: 19bf677c4b526acee9e8e07e48214303347bc5d8
3
+ metadata.gz: efcb5aa1332ef8a8c7a35d9101ee59aa728c4280
4
+ data.tar.gz: 7ad31f43948b925f7dbd323baf94da16e4abe573
5
5
  SHA512:
6
- metadata.gz: 5f5ee730bec47e60d6ca4d53e12683c67e8f02be74c0b2ad202e48ace18a244474cbac59c841d54e8d84b156403fbbe8016ed0697ea67e6c85e56c77130b7282
7
- data.tar.gz: dfe6cfae1604b5ddd72f6c9ad069d029133cc6d470be2fa4f451dbef7a30d65fd16bc69edbf5f8f8a16fbdc1131a539f3374383fc1e79226e47b398c119e61f8
6
+ metadata.gz: 887e16899f0838306b9495eedddc4af1d41d37355a3897138228cca9f25b97bf5e1f3fa73afd231d6c7c5a3bb7d3183be7d6930330ebe749a8c5b9e93048e57c
7
+ data.tar.gz: d690f80aa65e384e242547a89603f7a49c80e259efc77f6a8e321eb104b51b0bd85595bb5809a85a9df0a34cfe463558583d6780ee1513b0d863d17aab1976ac
@@ -3,16 +3,14 @@ module ActiveAdmin
3
3
  class Query
4
4
  def self.search(cep)
5
5
  address = PostmonRuby::Client.search(:cep, cep)
6
-
7
- unless address.not_found
8
- {
9
- cep: cep,
10
- state: address.estado,
11
- city: address.cidade,
12
- neighborhood: address.bairro,
13
- street: address.logradouro
14
- }
15
- end
6
+ return if address.not_found
7
+ {
8
+ cep: cep,
9
+ state: address.estado,
10
+ city: address.cidade,
11
+ neighborhood: address.bairro,
12
+ street: address.logradouro
13
+ }
16
14
  end
17
15
  end
18
16
  end
@@ -2,11 +2,12 @@ module ActiveAdmin
2
2
  module CepAutoComplete
3
3
  class Renderer
4
4
  def initialize
5
- @renderers = DEFAULT_FIELDS.map { |field| [field, default_renderer_for(field)] }.to_h.with_indifferent_access
5
+ @default_renderers = DEFAULT_FIELDS.map { |field| [field, default_renderer_for(field)] }.to_h.with_indifferent_access
6
+ @custom_renderers = {}.with_indifferent_access
6
7
  end
7
8
 
8
9
  def field(field_name, &block)
9
- @renderers[field_name] =
10
+ @custom_renderers[field_name] =
10
11
  if block_given?
11
12
  block
12
13
  else
@@ -15,19 +16,19 @@ module ActiveAdmin
15
16
  end
16
17
 
17
18
  def render(query)
18
- object = build_object(query)
19
-
20
- @renderers.keys.map do |field|
21
- value = @renderers[field].call(object)
22
- object.public_send("#{field}=", value)
23
- [field, value]
19
+ [@default_renderers, @custom_renderers].reduce(build_object(query)) do |object, renderers|
20
+ renderers.keys.each do |field|
21
+ value = renderers[field].call(object)
22
+ object.tap { object.public_send("#{field}=", value) }
23
+ end
24
+ object
24
25
  end.to_h
25
26
  end
26
27
 
27
28
  protected
28
29
 
29
30
  def default_renderer_for(field)
30
- lambda { |cep| cep.public_send(field) }
31
+ ->(cep) { cep.public_send(field) }
31
32
  end
32
33
 
33
34
  private
@@ -37,7 +38,7 @@ module ActiveAdmin
37
38
  end
38
39
 
39
40
  def klass
40
- Struct.new(:cep, *@renderers.keys)
41
+ Struct.new(:cep, *(@default_renderers.merge(@custom_renderers)).keys)
41
42
  end
42
43
  end
43
44
  end
@@ -3,7 +3,7 @@ module ActiveAdmin
3
3
  module Version
4
4
  MAJOR = 0
5
5
  MINOR = 2
6
- PATCH = 3
6
+ PATCH = 4
7
7
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_admin-cep_auto_complete
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dhyego Fernando
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-29 00:00:00.000000000 Z
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  requirements: []
170
170
  rubyforge_project:
171
- rubygems_version: 2.4.8
171
+ rubygems_version: 2.6.14
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: Auto complete your addresses fields with Brazilian CEP (zip code).