naver_map 0.2.1 → 0.2.2

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
  SHA1:
3
- metadata.gz: 4f3ff2ab57036a6f6e18d7778d195719a77d112c
4
- data.tar.gz: 184d8c050f7011ed59ed667a98668dc4caf08c1d
3
+ metadata.gz: 6a724b1f72f20a69a97bf0c48a036295f645bc7a
4
+ data.tar.gz: b726dc5c4b9e6ea09ded0000b6ddc79655b2a4c5
5
5
  SHA512:
6
- metadata.gz: 174823951370ee076581f555ac579ef7392214b7cad471354bcf61e3e49995fffdc06e805aea3f7a48f85a1d461d3760b23ba44681b24fdb6c599838b9a0cbd0
7
- data.tar.gz: 5de13a373a2b0faf38cd6bd6127a357b691932c33f468ade4b97014aee8442af2b40d2965a337adf23142993d78d12a001ec50ae75ec07bbe86dbe6fdb912893
6
+ metadata.gz: 47de6a80a54b38fde23377f3351e9e82642bab4c4e3d33442424fd667ebba0ec6647e18dd3cdb6ae8e73cc842d4818d27b1ad57876af51cbe5efb4da54715ca9
7
+ data.tar.gz: c5c12621213183080e3d2ab202835459ccfa064253eedfc9f7c278557d8ef65becf9b43fbe1c800df57f53ffd7ad67de7a6c2739dac720d873bf541b1f3a5c02
data/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ * 0.1.0
2
+ * 첫 버전
3
+ * 주소를 좌표로 변환 시켜주는 기능 추가
4
+ * 0.1.1
5
+ * gemspec에 누락된 홈페이지 정보 추가
6
+ * 0.2.0
7
+ * travis 연동 및 minitest로 TDD 구현
8
+ * 좌표를 주소로 변환 시켜주는 기능 추가
9
+ * 소스 리펙토링
10
+ * 0.2.1
11
+ * dependency 정리
12
+ * travis 코드 정리
13
+ * 0.2.2
14
+ * 결과값이 1개일시 array로 반환 안함
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- naver_map (0.2.0)
5
- rest-client (~> 2.0.0)
4
+ naver_map (0.2.1)
5
+ rest-client (~> 2.0, >= 2.0.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -30,9 +30,9 @@ PLATFORMS
30
30
 
31
31
  DEPENDENCIES
32
32
  bundler (~> 1.13)
33
- minitest (~> 5.8.3)
33
+ minitest (~> 5.8, >= 5.8.3)
34
34
  naver_map!
35
- rake (~> 11.2.2)
35
+ rake (~> 11.2, >= 11.2.2)
36
36
 
37
37
  BUNDLED WITH
38
38
  1.13.6
data/README.md CHANGED
@@ -32,15 +32,16 @@ city_hall = NaverMap.new('input your client id', 'input your client secret')
32
32
  First you need to confirm your Naver API client id and client secret key. You can confirm it at [Naver Developer Application page](https://developers.naver.com/appinfo).
33
33
  Then you can initialize `naver_map` with your client id and client secret key.
34
34
 
35
- ### Get coordinates with address
35
+ ### Getting coordinates with address
36
36
 
37
37
  ```ruby
38
38
  city_hall.address_to_coordinates('서울특별시 중구 세종대로 110 서울특별시청')
39
- => [{:x=>126.9783882, :y=>37.5666103}]
39
+ => {:x=>126.9783882, :y=>37.5666103}
40
40
  ```
41
-
42
- The return value is array, cuz coordinates can be multiple values.
43
- But we are plan to when return is single value then make return is not array.
41
+ The address will be converted into coordinates and returned. But coordinates can be plural.
42
+ In this case, coordinates will be returned in array. And when your address is not clear,
43
+ then this case occurred frequently. For example your address parameter is
44
+ '서울특별시 중구'. Then you'll get many coordinates values.
44
45
 
45
46
  ### Getting address with coordinates
46
47
 
@@ -49,11 +50,12 @@ city_hall.coordinates_to_address(126.9783882, 37.5666103)
49
50
  => ["서울특별시 중구 태평로1가 31", "서울특별시 중구 세종대로 110 서울시청"]
50
51
  ```
51
52
 
52
- Address also can be multiple values. So value is array.
53
+ The coordinates will be converted into address. And address also can be can be plural.
53
54
 
54
55
  ## Contributing
55
56
 
56
57
  Bug reports and pull requests are welcome.
57
58
 
58
59
  ## License
59
- MIT
60
+
61
+ MIT
@@ -1,3 +1,3 @@
1
1
  class NaverMap
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.2'
3
3
  end
data/lib/naver_map.rb CHANGED
@@ -3,7 +3,7 @@ require 'rest-client'
3
3
  require 'json'
4
4
 
5
5
  class NaverMap
6
- attr_accessor :client_id, :client_secret
6
+ attr_reader :client_id, :client_secret
7
7
 
8
8
  GEOCODE_REQUEST_URL = 'https://openapi.naver.com/v1/map/geocode'.freeze
9
9
  REVERSE_GEOCODE_URL = 'https://openapi.naver.com/v1/map/reversegeocode'.freeze
@@ -14,13 +14,13 @@ class NaverMap
14
14
  end
15
15
 
16
16
  def address_to_coordinates(address)
17
- response = query(GEOCODE_REQUEST_URL, address)
18
- get_result(response.body)[:items].map { |element| element[:point] }
17
+ response = query(GEOCODE_REQUEST_URL, address).body
18
+ extract_result(response, :point) # Second argument should be a symbol
19
19
  end
20
20
 
21
21
  def coordinates_to_address(axis_x, axis_y)
22
- response = query(REVERSE_GEOCODE_URL, axis_x, axis_y)
23
- get_result(response.body)[:items].map { |element| element[:address] }
22
+ response = query(REVERSE_GEOCODE_URL, axis_x, axis_y).body
23
+ extract_result(response, :address)
24
24
  end
25
25
 
26
26
  def to_s
@@ -29,10 +29,6 @@ class NaverMap
29
29
 
30
30
  private
31
31
 
32
- def get_result(body)
33
- JSON.parse(body, symbolize_names: true)[:result]
34
- end
35
-
36
32
  def request_to_naver(url, *params)
37
33
  RestClient.get(url, params: { query: params.join(',') },
38
34
  'X-Naver-Client-Id': client_id,
@@ -44,4 +40,15 @@ class NaverMap
44
40
  rescue RestClient::ExceptionWithResponse => err
45
41
  err.response.body
46
42
  end
43
+
44
+ def get_result(body)
45
+ JSON.parse(body, symbolize_names: true)[:result]
46
+ end
47
+
48
+ def extract_result(content, result_type)
49
+ result = get_result(content)[:items]
50
+
51
+ return result.first[result_type] unless result.size > 1
52
+ result.map { |element| element[result_type] }
53
+ end
47
54
  end
data/naver_map.gemspec CHANGED
@@ -32,9 +32,9 @@ Gem::Specification.new do |spec|
32
32
  spec.require_paths = ["lib"]
33
33
  spec.required_ruby_version = ">= 2.2.0"
34
34
 
35
- spec.add_dependency "rest-client", "~> 2.0.0"
35
+ spec.add_dependency "rest-client", "~> 2.0", ">= 2.0.0"
36
36
 
37
37
  spec.add_development_dependency "bundler", "~> 1.13"
38
- spec.add_development_dependency "minitest", "~> 5.8.3"
39
- spec.add_development_dependency "rake", "~> 11.2.2"
38
+ spec.add_development_dependency "minitest", "~> 5.8", ">= 5.8.3"
39
+ spec.add_development_dependency "rake", "~> 11.2", ">= 11.2.2"
40
40
  end
metadata CHANGED
@@ -1,20 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: naver_map
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Penguin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-08 00:00:00.000000000 Z
11
+ date: 2016-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: 2.0.0
20
23
  type: :runtime
@@ -22,6 +25,9 @@ dependencies:
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: 2.0.0
27
33
  - !ruby/object:Gem::Dependency
@@ -43,6 +49,9 @@ dependencies:
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.8'
54
+ - - ">="
46
55
  - !ruby/object:Gem::Version
47
56
  version: 5.8.3
48
57
  type: :development
@@ -50,6 +59,9 @@ dependencies:
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
52
61
  - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '5.8'
64
+ - - ">="
53
65
  - !ruby/object:Gem::Version
54
66
  version: 5.8.3
55
67
  - !ruby/object:Gem::Dependency
@@ -57,6 +69,9 @@ dependencies:
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
71
  - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '11.2'
74
+ - - ">="
60
75
  - !ruby/object:Gem::Version
61
76
  version: 11.2.2
62
77
  type: :development
@@ -64,6 +79,9 @@ dependencies:
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
66
81
  - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '11.2'
84
+ - - ">="
67
85
  - !ruby/object:Gem::Version
68
86
  version: 11.2.2
69
87
  description: |-
@@ -79,6 +97,7 @@ files:
79
97
  - ".idea/misc.xml"
80
98
  - ".idea/modules.xml"
81
99
  - ".travis.yml"
100
+ - CHANGELOG.md
82
101
  - CODE_OF_CONDUCT.md
83
102
  - Gemfile
84
103
  - Gemfile.lock