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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efcb5aa1332ef8a8c7a35d9101ee59aa728c4280
|
4
|
+
data.tar.gz: 7ad31f43948b925f7dbd323baf94da16e4abe573
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
|
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,
|
41
|
+
Struct.new(:cep, *(@default_renderers.merge(@custom_renderers)).keys)
|
41
42
|
end
|
42
43
|
end
|
43
44
|
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.
|
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:
|
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.
|
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).
|