resas_kit 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
  SHA1:
3
- metadata.gz: 62842cb3c7638d750f33360cd8cee37235d72a50
4
- data.tar.gz: 188ac6fdeed7353f58a08cba562e4ee07e08dc3b
3
+ metadata.gz: bc991f40c22cd8bd201bc0ed56cb1cee21bdfea2
4
+ data.tar.gz: fb5b830810a76083fef97c023f87fd996587995b
5
5
  SHA512:
6
- metadata.gz: 96211856215f98bbbc205c77ff2a1ee9358e05b29d75937456f0fdab260cdfaccca2b2f0ab8fa13db8346c335bf9f94f6cc9342d6bbfc00a788bc92d459b3952
7
- data.tar.gz: 267a696479e7826dd1f9441ca6f14f814cfae7048cfe3bc100027f919d8ba6b6f790cb358c45a9386dfe34255b5a8f3213a805bfaa3a168b80e8a4bc2284443d
6
+ metadata.gz: ff50f888c55e789447a9fa479878aeeb2e868ac2b65636d0a2254da2af3520ff5663c08907e4baa848db9a6e646b00589e0d2c6f9ad8ae52b8b4c6a07271be2e
7
+ data.tar.gz: ed6df53d7c80ba8b7848d38ec9b90b055fbe2b5bd93a1dc5ab403cd35df3d4bc57bac0d1b2f4682dee6c3c4727b8dad92d52fd3bda10288da0f99695440e6545
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ # Change Log
2
+
3
+ ## 0.2.0 (2016-12-20)
4
+
5
+ * Add ghost methods
6
+ * Fix `Hash#camelize_keys!`
7
+ * Set required Ruby version to >= 2.0.0
8
+ * Update gem dependencies
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # ResasKit
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/resas_kit.svg)](https://badge.fury.io/rb/resas_kit)
3
4
  [![Build Status](https://travis-ci.org/emsk/resas_kit.svg?branch=master)](https://travis-ci.org/emsk/resas_kit)
4
5
  [![Coverage Status](https://coveralls.io/repos/github/emsk/resas_kit/badge.svg?branch=master)](https://coveralls.io/github/emsk/resas_kit)
5
6
  [![Code Climate](https://codeclimate.com/github/emsk/resas_kit/badges/gpa.svg)](https://codeclimate.com/github/emsk/resas_kit)
@@ -9,6 +10,26 @@
9
10
 
10
11
  Ruby wrapper for the [RESAS API](https://opendata.resas-portal.go.jp).
11
12
 
13
+ ## Installation
14
+
15
+ Add this line to your application's Gemfile:
16
+
17
+ ```ruby
18
+ gem 'resas_kit'
19
+ ```
20
+
21
+ And then execute:
22
+
23
+ ```sh
24
+ $ bundle
25
+ ```
26
+
27
+ Or install it yourself as:
28
+
29
+ ```sh
30
+ $ gem install resas_kit
31
+ ```
32
+
12
33
  ## Usage
13
34
 
14
35
  ```ruby
@@ -23,6 +44,7 @@ response.status # get status
23
44
 
24
45
  client.get('tourism/foreigners/forFrom', year: 2016, pref_code: '32', purpose: 2, add_area: '31,33') # underscored key
25
46
  client.get('tourism/foreigners/forFrom', year: 2016, prefCode: '32', purpose: 2, addArea: '31,33') # camelized key
47
+ client.get_tourism__foreigners__for_from(year: 2016, pref_code: '32', purpose: 2, add_area: '31,33') # ghost method
26
48
 
27
49
  client.get('prefectures').body.result[0].pref_name # method chaining
28
50
  ```
@@ -42,7 +64,9 @@ client = ResasKit::Client.new
42
64
 
43
65
  ## Supported RESAS API Version
44
66
 
45
- RESAS API [v1-rc.1](https://opendata.resas-portal.go.jp/docs/api/v1-rc.1/index.html)
67
+ ResasKit supports RESAS API [v1-rc.1](https://opendata.resas-portal.go.jp/docs/api/v1-rc.1/index.html).
68
+
69
+ ResasKit's API documentation is [here](http://www.rubydoc.info/gems/resas_kit).
46
70
 
47
71
  ## Supported Ruby Versions
48
72
 
@@ -9,9 +9,10 @@ module ResasKit
9
9
  #
10
10
  # @see https://opendata.resas-portal.go.jp
11
11
  class Client
12
- API_ENDPOINT = 'https://opendata.resas-portal.go.jp'.freeze
13
- API_VERSION = 'v1-rc.1'.freeze
14
- USER_AGENT = "ResasKit Ruby Gem #{ResasKit::VERSION}".freeze
12
+ API_ENDPOINT = 'https://opendata.resas-portal.go.jp'.freeze
13
+ API_VERSION = 'v1-rc.1'.freeze
14
+ USER_AGENT = "ResasKit Ruby Gem #{ResasKit::VERSION}".freeze
15
+ METHOD_PREFIX = 'get_'.freeze
15
16
 
16
17
  attr_accessor :api_key, :api_version
17
18
 
@@ -68,5 +69,21 @@ module ResasKit
68
69
  def request_api_version
69
70
  @api_version || API_VERSION
70
71
  end
72
+
73
+ def method_missing(method, params = {})
74
+ if respond_to?(method)
75
+ path = method.to_s
76
+ .sub(/\A#{METHOD_PREFIX}/, '')
77
+ .gsub(/__/, '/')
78
+ .gsub(/_(.)/) { Regexp.last_match(1).camelize }
79
+ get(path, params)
80
+ else
81
+ super
82
+ end
83
+ end
84
+
85
+ def respond_to_missing?(method, include_private = false)
86
+ method.to_s.start_with?(METHOD_PREFIX) || super
87
+ end
71
88
  end
72
89
  end
@@ -10,7 +10,7 @@ class Hash
10
10
  .split(/(_*\d+_*)/)
11
11
  .reject(&:empty?)
12
12
  .map { |k| k.camelize(:lower) }
13
- .join('_')
13
+ .join
14
14
  .to_sym
15
15
  end
16
16
 
@@ -1,3 +1,3 @@
1
1
  module ResasKit
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
data/resas_kit.gemspec CHANGED
@@ -21,14 +21,16 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
+ spec.required_ruby_version = '>= 2.0.0'
25
+
24
26
  spec.add_runtime_dependency 'activesupport', '>= 4.2.7.1'
25
27
  spec.add_runtime_dependency 'faraday', '~> 0.10.0'
26
28
  spec.add_runtime_dependency 'faraday_middleware', '~> 0.10.1'
27
29
  spec.add_development_dependency 'bundler', '~> 1.13'
28
- spec.add_development_dependency 'coveralls', '~> 0.8.16'
29
- spec.add_development_dependency 'rake', '~> 10.0'
30
- spec.add_development_dependency 'rspec', '~> 3.0'
31
- spec.add_development_dependency 'rubocop', '~> 0.45.0'
30
+ spec.add_development_dependency 'coveralls', '~> 0.8.17'
31
+ spec.add_development_dependency 'rake', '~> 12.0'
32
+ spec.add_development_dependency 'rspec', '~> 3.5'
33
+ spec.add_development_dependency 'rubocop', '~> 0.46.0'
32
34
  spec.add_development_dependency 'simplecov', '~> 0.12.0'
33
- spec.add_development_dependency 'webmock', '~> 2.1'
35
+ spec.add_development_dependency 'webmock', '~> 2.3'
34
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resas_kit
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
  - emsk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-03 00:00:00.000000000 Z
11
+ date: 2016-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,56 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.8.16
75
+ version: 0.8.17
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.8.16
82
+ version: 0.8.17
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '12.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '12.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '3.0'
103
+ version: '3.5'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '3.0'
110
+ version: '3.5'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.45.0
117
+ version: 0.46.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.45.0
124
+ version: 0.46.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '2.1'
145
+ version: '2.3'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '2.1'
152
+ version: '2.3'
153
153
  description: Client library for the RESAS API.
154
154
  email:
155
155
  - emsk1987@gmail.com
@@ -163,6 +163,7 @@ files:
163
163
  - ".rubocop.yml"
164
164
  - ".rubocop_todo.yml"
165
165
  - ".travis.yml"
166
+ - CHANGELOG.md
166
167
  - Gemfile
167
168
  - LICENSE.txt
168
169
  - README.md
@@ -191,7 +192,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
191
192
  requirements:
192
193
  - - ">="
193
194
  - !ruby/object:Gem::Version
194
- version: '0'
195
+ version: 2.0.0
195
196
  required_rubygems_version: !ruby/object:Gem::Requirement
196
197
  requirements:
197
198
  - - ">="