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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0715b9f8b83e804a3229c6e1c474b951c45290f257c12b85587786f536e0dde
4
- data.tar.gz: c87d221a87dde75a401609d735f1804041cd55f175c10cd4373a55bb5a752d51
3
+ metadata.gz: 96139da1318c0fd03e980d03f7352c08e9ec76987e4b3f9254c7c6e0835d53c3
4
+ data.tar.gz: f61aa03caaf8fc2accfa8fbc3cb4662b8ae542d9ba6c6795f90a4e5810d42bb4
5
5
  SHA512:
6
- metadata.gz: 0cbe2004c4b78d0f252977f83983f5fb1ca02280fd429bae57e1aef9b4b10c46f26d4179599ab2a603e97ceeb87a875bd57928a6cc619d741f52f7be18833399
7
- data.tar.gz: 538e87653850a23353bf128d04da96b10023dc9db1847294246bb5c998795b0e71c1e3c5c8be61138c6a1fdc4bdc83ff96f53cc6f369344156ef041ce0f78f83
6
+ metadata.gz: cdeefa2206e0bf9313ecb8a19f8a31cccc6ff16ef2e38d808cc11bb2d4df14d8c4c9ebab51d875dda299d9efc8e8bd97276ec69c1a61f74281be1cb17bf8f313
7
+ data.tar.gz: 0dbd643b7643b1e037f75f46d42aa04dc134c574e42bd0db864137d1fcbfaeabb1ab6d84ab2dbb109f3010e5245b98e7672803d502ef897e9e58aecdcb9cd5a0
data/.gitignore CHANGED
@@ -1,6 +1,8 @@
1
1
  /.bundle/
2
2
  Gemfile.lock
3
3
 
4
+ *.gem
5
+
4
6
  /.yardoc
5
7
  /_yardoc/
6
8
  /coverage/
@@ -1,10 +1,16 @@
1
- Style/ClassAndModuleChildren:
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
- Metrics/BlockLength:
11
+ Style/ClassAndModuleChildren:
6
12
  Exclude:
7
13
  - test/**/*
8
14
 
9
- String/StringLiterals:
15
+ Style/StringLiterals:
10
16
  EnforcedStyle: single_quotes
@@ -3,3 +3,7 @@
3
3
  ## 0.1.0 - 2019-12-09
4
4
 
5
5
  * Added organizations request of Suggestion API.
6
+
7
+ ## 0.2.0 - 2020-11-19
8
+
9
+ * Support address by FIAS ID method.
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
@@ -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', '~> 0.77'
37
+ spec.add_development_dependency 'rubocop', '~> 1.3'
37
38
  spec.add_development_dependency 'webmock', '~> 3.7'
38
39
  end
@@ -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/suggest/'
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
- url = URI(URI.join(BASE_URL, 'party'))
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 = { query: term }.to_json
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dadata
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
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.1.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: 2019-12-11 00:00:00.000000000 Z
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: '0.77'
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: '0.77'
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: []