dadata 0.1.0 → 0.2.0
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 +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +9 -3
- data/CHANGELOG.md +4 -0
- data/README.md +4 -0
- data/dadata.gemspec +2 -1
- data/lib/dadata/suggestion.rb +16 -8
- data/lib/dadata/version.rb +1 -1
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96139da1318c0fd03e980d03f7352c08e9ec76987e4b3f9254c7c6e0835d53c3
|
4
|
+
data.tar.gz: f61aa03caaf8fc2accfa8fbc3cb4662b8ae542d9ba6c6795f90a4e5810d42bb4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdeefa2206e0bf9313ecb8a19f8a31cccc6ff16ef2e38d808cc11bb2d4df14d8c4c9ebab51d875dda299d9efc8e8bd97276ec69c1a61f74281be1cb17bf8f313
|
7
|
+
data.tar.gz: 0dbd643b7643b1e037f75f46d42aa04dc134c574e42bd0db864137d1fcbfaeabb1ab6d84ab2dbb109f3010e5245b98e7672803d502ef897e9e58aecdcb9cd5a0
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,10 +1,16 @@
|
|
1
|
-
|
1
|
+
AllCops:
|
2
|
+
NewCops: enable
|
3
|
+
|
4
|
+
Layout/LineLength:
|
5
|
+
Max: 80
|
6
|
+
|
7
|
+
Metrics/BlockLength:
|
2
8
|
Exclude:
|
3
9
|
- test/**/*
|
4
10
|
|
5
|
-
|
11
|
+
Style/ClassAndModuleChildren:
|
6
12
|
Exclude:
|
7
13
|
- test/**/*
|
8
14
|
|
9
|
-
|
15
|
+
Style/StringLiterals:
|
10
16
|
EnforcedStyle: single_quotes
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -25,6 +25,10 @@ require 'dadata'
|
|
25
25
|
|
26
26
|
dadata = Dadata::Suggestion.new(api_key: 'YOURKEY')
|
27
27
|
dadata.organization('ООО Рога и копыта')
|
28
|
+
# => { suggestions: {{ value: "ПАО БАНК", ... }] }
|
29
|
+
|
30
|
+
dadata.address_by_id('203221a4-dde4-4954-99cb-e788df9d0ce8')
|
31
|
+
# => { suggestions: [{ value: "г Казань, ул Кремлевская, д 1", ... }] }
|
28
32
|
```
|
29
33
|
|
30
34
|
## Contributing
|
data/dadata.gemspec
CHANGED
@@ -32,7 +32,8 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'bundler', '>= 1.17', '< 3.0'
|
33
33
|
spec.add_development_dependency 'ffaker', '~> 2.13'
|
34
34
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
35
|
+
spec.add_development_dependency 'minitest-reporters', '~> 1.4'
|
35
36
|
spec.add_development_dependency 'rake', '~> 10.0'
|
36
|
-
spec.add_development_dependency 'rubocop', '~>
|
37
|
+
spec.add_development_dependency 'rubocop', '~> 1.3'
|
37
38
|
spec.add_development_dependency 'webmock', '~> 3.7'
|
38
39
|
end
|
data/lib/dadata/suggestion.rb
CHANGED
@@ -6,14 +6,24 @@ require 'net/http'
|
|
6
6
|
module Dadata
|
7
7
|
# Suggestion API
|
8
8
|
class Suggestion
|
9
|
-
BASE_URL = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/
|
9
|
+
BASE_URL = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/'
|
10
10
|
|
11
11
|
def initialize(config)
|
12
12
|
@config = config
|
13
13
|
end
|
14
14
|
|
15
|
-
def organization(term)
|
16
|
-
|
15
|
+
def organization(query: term)
|
16
|
+
call_method('suggest/party', query: query)
|
17
|
+
end
|
18
|
+
|
19
|
+
def address_by_fias_id(query: fias_id)
|
20
|
+
call_method('findById/address', query: query)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def call_method(method, **query_data)
|
26
|
+
url = URI(URI.join(BASE_URL, method))
|
17
27
|
|
18
28
|
req = Net::HTTP::Post.new(url)
|
19
29
|
|
@@ -21,19 +31,17 @@ module Dadata
|
|
21
31
|
req['Accept'] = 'application/json'
|
22
32
|
req['Authorization'] = "Token #{@config[:api_key]}"
|
23
33
|
|
24
|
-
req.body =
|
34
|
+
req.body = query_data.to_json
|
25
35
|
|
26
36
|
resp = perform_request(url, req)
|
27
37
|
|
28
38
|
if resp.code == '200'
|
29
|
-
[true, JSON.parse(resp.body, symbolize_names: true)]
|
39
|
+
[true, JSON.parse(resp.body, symbolize_names: true)[:suggestions]]
|
30
40
|
else
|
31
|
-
[false, code: resp.code.to_i, message: resp.body]
|
41
|
+
[false, { code: resp.code.to_i, message: resp.body }]
|
32
42
|
end
|
33
43
|
end
|
34
44
|
|
35
|
-
private
|
36
|
-
|
37
45
|
def perform_request(url, request)
|
38
46
|
http = Net::HTTP.new(url.host, url.port)
|
39
47
|
http.use_ssl = true
|
data/lib/dadata/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dadata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rinat Garifullin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,6 +58,20 @@ dependencies:
|
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '5.0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: minitest-reporters
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.4'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.4'
|
61
75
|
- !ruby/object:Gem::Dependency
|
62
76
|
name: rake
|
63
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,14 +92,14 @@ dependencies:
|
|
78
92
|
requirements:
|
79
93
|
- - "~>"
|
80
94
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
95
|
+
version: '1.3'
|
82
96
|
type: :development
|
83
97
|
prerelease: false
|
84
98
|
version_requirements: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
86
100
|
- - "~>"
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
102
|
+
version: '1.3'
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: webmock
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,7 +114,7 @@ dependencies:
|
|
100
114
|
- - "~>"
|
101
115
|
- !ruby/object:Gem::Version
|
102
116
|
version: '3.7'
|
103
|
-
description:
|
117
|
+
description:
|
104
118
|
email:
|
105
119
|
- ringarifullin@gmail.com
|
106
120
|
executables: []
|
@@ -128,7 +142,7 @@ metadata:
|
|
128
142
|
homepage_uri: https://github.com/rgarifullin/dadata
|
129
143
|
source_code_uri: https://github.com/rgarifullin/dadata
|
130
144
|
changelog_uri: https://github.com/rgarifullin/dadata/blob/master/CHANGELOG.md
|
131
|
-
post_install_message:
|
145
|
+
post_install_message:
|
132
146
|
rdoc_options: []
|
133
147
|
require_paths:
|
134
148
|
- lib
|
@@ -144,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
158
|
version: '0'
|
145
159
|
requirements: []
|
146
160
|
rubygems_version: 3.0.3
|
147
|
-
signing_key:
|
161
|
+
signing_key:
|
148
162
|
specification_version: 4
|
149
163
|
summary: Dadata.ru API integration
|
150
164
|
test_files: []
|