resas-api 0.2.5 → 0.3.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
  SHA1:
3
- metadata.gz: 6d8facef482f75cb283056a4265cc539aeb3b4cc
4
- data.tar.gz: 1d461da23bd290777b27139b959bf40cb21f57fa
3
+ metadata.gz: 994634fd1f818ab27d574af848a9086a0c271a8d
4
+ data.tar.gz: ed022594f90f40a534ffdbea5f9792db51197dd8
5
5
  SHA512:
6
- metadata.gz: 5ef321f826a88574144987cad10ab4ef21226789a3f90540454688c22ec300dc5f36cf6aa073b4087e7c8e8ac77edba71db711aa9cf584bae5197bb701a79448
7
- data.tar.gz: 1c483036a673b05e977b63c7ed9c96466c438698fbd6c06eda68b38cbbf1253e26b24397c7c44ae23160933c97e1b401b617d27b3c80b4efc47addd0c9cb560d
6
+ metadata.gz: 7dea8b83da0b08d12db8841d87beaff2ed387caa992635866da7c41ff2b31a09cdf07ea512e6014376de6ba97bbe26bcf2a98bb4b286d75b20e616145420f431
7
+ data.tar.gz: 40ed282e39051c76e67aac934ec40104da505fab1677453c7ae6cc21fd5cb427dc6ab6a23accefc2e63d22903dffd4079faa9fa795eccaf8fdca6d6034dc67e3
@@ -12,20 +12,15 @@ module Resas
12
12
  # @see {https://opendata.resas-portal.go.jp/docs/api/v1-rc.1/index.html}
13
13
  module Api
14
14
 
15
- include Nard::Appi::ApiExt::Version
16
- include Nard::Appi::ApiExt::Client
17
- include Nard::Appi::ApiExt::Configuration
18
- include Nard::Appi::ApiExt::Environment
15
+ include Nard::Appi::Base
19
16
 
20
- include ApiExt::DefaultConfiguration
21
-
22
- include Nard::Appi::ApiExt::Initializer
17
+ default_config ApiExt::DefaultConfiguration
23
18
 
24
19
  # クライアントのオブジェクトを返すメソッド
25
20
  # @param options [Hash] オプション
26
21
  # @return [Resas::Api::Client]
27
22
  def self.client( options = {} )
28
- super( Resas::Api, options )
23
+ super( options )
29
24
  end
30
25
 
31
26
  def self.method_missing( method, *args, &block )
@@ -17,20 +17,8 @@ module Resas
17
17
  # @note 実際の通信には Gem 'Faraday' を利用する。
18
18
  class Client < Nard::Appi::Client
19
19
 
20
- filenames = [
21
- :connection,
22
- :request,
23
- :endpoints,
24
- ]
25
-
26
- filenames.each do | filename |
27
- require File.expand_path( "../client_ext/#{ filename }", __FILE__ )
28
- include Resas::Api::ClientExt.const_get( filename.capitalize )
29
- end
30
-
31
- def initialize( options = {} )
32
- super( Resas::Api, options )
33
- end
20
+ client_for Resas::Api
21
+ concerns :Connection, :Request, :Endpoints, under: 'resas/api/client_ext'
34
22
 
35
23
  # API のエンドポイント(APIのバージョンを含む)
36
24
  # @return [URI::HTTPS]
@@ -1,3 +1,5 @@
1
+ require 'nard/appi/response/body'
2
+
1
3
  require_relative './validation_error'
2
4
  require_relative './bad_request'
3
5
  require_relative './forbidden'
@@ -17,23 +19,7 @@ module Resas
17
19
 
18
20
  module Response
19
21
 
20
- class Body
21
-
22
- def initialize( h, client, path, options )
23
- @h = h
24
-
25
- @client = client
26
- @path = path
27
- @options = options
28
-
29
- raise_error_if_needed
30
- end
31
-
32
- # @return [URI::HTTPS or URI::Generic]
33
- def path( full: true )
34
- options = @options.dup.merge( full: full )
35
- @client.path( @path, options )
36
- end
22
+ class Body < Nard::Appi::Response::Body
37
23
 
38
24
  # @return [Array or nil]
39
25
  def result
@@ -66,23 +52,6 @@ module Resas
66
52
  description.present?
67
53
  end
68
54
 
69
- def method_missing( method_name, *args, &block )
70
- return super unless @h.respond_to?( method_name )
71
- @h.send( method, *args, &block )
72
- rescue NoMethodError => e
73
- e.message = <<-MSG
74
- Resas::Api::Response::Body#method_missing
75
- #{ e.message }
76
- method_name: #{ method_name }, @h.class: #{ @h.class }
77
- MSG
78
- binding.pry if Resas::Api.env.development? || Resas::Api.env.test?
79
- raise e
80
- end
81
-
82
- def respond_to?( method, include_all = true )
83
- return @h.respond_to?( method, include_all ) || super
84
- end
85
-
86
55
  private
87
56
 
88
57
  def raise_error_if_needed
@@ -113,6 +82,16 @@ module Resas
113
82
  end
114
83
  end
115
84
 
85
+ def rescue_method_missing(e)
86
+ e.message = <<-MSG
87
+ Resas::Api::Response::Body#method_missing
88
+ #{ e.message }
89
+ method_name: #{ method_name }, @h.class: #{ @h.class }
90
+ MSG
91
+ binding.pry if Resas::Api.env.development? || Resas::Api.env.test?
92
+ raise e
93
+ end
94
+
116
95
  end
117
96
 
118
97
  end
@@ -9,7 +9,7 @@ module Resas
9
9
 
10
10
  # この Gem のバージョン
11
11
  # @return [String]
12
- VERSION = '0.2.5'.freeze
12
+ VERSION = '0.3.0'.freeze
13
13
 
14
14
  end
15
15
  end
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
 
37
37
  spec.add_runtime_dependency 'activesupport', '~> 5.0', '>= 5.0.0.1'
38
38
 
39
- spec.add_runtime_dependency 'nard-appi', '>= 0.1.4'
39
+ spec.add_runtime_dependency 'nard-appi', '>= 0.2.0'
40
40
  spec.add_runtime_dependency 'faraday', '= 0.10'
41
41
  spec.add_runtime_dependency 'faraday_middleware', '= 0.10.1'
42
42
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resas-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shu Fujita
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-09 00:00:00.000000000 Z
11
+ date: 2016-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.4
39
+ version: 0.2.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.1.4
46
+ version: 0.2.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: faraday
49
49
  requirement: !ruby/object:Gem::Requirement