dadata 0.1.0 → 0.2.0

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
  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: []