active_admin-cep_auto_complete 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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).