rack-mock_json 0.0.1 → 0.0.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: a3acdb8bd831b25c12a19794312572a86a08000a
4
- data.tar.gz: 0676acd9b1ecc26290a647d1cddcdaf7733b84ed
3
+ metadata.gz: 1c23dad1181a8b3596f04ec2926685da58f949ec
4
+ data.tar.gz: e079e442284e3d1880de1ec08ea6c532147e0a95
5
5
  SHA512:
6
- metadata.gz: b71d2fb3c36c416b3556b59073f4c066fc5c163325382375db1a25f8654a19c8986e4fd0c8b715e38eed5ac22601217e37022e22c1a798fb337c092b79c02d75
7
- data.tar.gz: 90637fbf141d5b930d89a71bb0053daf874bf30e8c56b4cd745c78333a9bce277282f3395165bf0239a3ee754297918b434b8c5303174b4fcd55e4e0315a019d
6
+ metadata.gz: d1230e746bbdffd32b8b56addd990c91c63ba737aaaa0c3db28651e10120973859db06a4ed965c86ca7010d54dba0a0cba662540b386caface171ae171581618
7
+ data.tar.gz: d7c6c31251d3a26f561e7778e38a60f0bcf8e5e06cefa4b9bd41574979260611af15118ffd8fe4657a6b57ce74ea1a348bc269e4859f8ec7e05ef8cc0668da8e
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /vendor/bundle
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color -f d
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  rack-mock_json
2
2
  ====================
3
+ [![Gem Version](https://badge.fury.io/rb/rack-mock_json.svg)](http://badge.fury.io/rb/rack-mock_json)
4
+
5
+
3
6
 
4
7
  ## Overview
5
8
  `rack-mock_json` is for any request in the rack layer, returns any json response(Content-Type: application/json) and http status.
@@ -25,7 +28,7 @@ gem 'rack-mock_json'
25
28
  ```ruby
26
29
  Rails.application.configure do
27
30
  # ...
28
- config.middleware.use Rack::MockJson::RequestHandler, config_file_path: "#{config.root}/config/mock_json.yml"
31
+ config.middleware.use Rack::MockJson::Middleware, config_file_path: "#{config.root}/config/mock_json.yml"
29
32
  end
30
33
 
31
34
  ```
@@ -35,11 +38,11 @@ end
35
38
  ### Config
36
39
 
37
40
  ```yaml
38
- - :request_path: 'GET /hoge/.*/foo'
39
- :content: '{ "hoge": "foo", "bar" : "fuga" }'
40
- - :request_path: 'POST /user'
41
- :status: 201
42
- :content: '{ "name": "taro", "age" : 17 }'
41
+ - request_path: 'GET /hoge/.*/foo'
42
+ content: '{ "hoge": "foo", "bar" : "fuga" }'
43
+ - request_path: 'POST /user'
44
+ status: 201
45
+ content: '{ "name": "taro", "age" : 17 }'
43
46
  ```
44
47
 
45
48
  [Examples For more information, click here](example/rails-example/config/mock_json.yml)
data/Rakefile CHANGED
@@ -1 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new("spec")
5
+ task :default => :spec
data/circle.yml ADDED
@@ -0,0 +1,21 @@
1
+ machine:
2
+ timezone:
3
+ Asia/Tokyo
4
+
5
+ ruby:
6
+ version:
7
+ 2.2.3
8
+
9
+ dependencies:
10
+ cache_directories:
11
+ - "vendor/bundle"
12
+
13
+ pre:
14
+ - gem install bundler --pre
15
+
16
+ override:
17
+ - bundle install -j4 --path vendor/bundle
18
+
19
+ test:
20
+ override:
21
+ - bundle exec rake spec
@@ -39,5 +39,5 @@ Rails.application.configure do
39
39
  # Raises error for missing translations
40
40
  # config.action_view.raise_on_missing_translations = true
41
41
 
42
- config.middleware.use Rack::MockJson::RequestHandler, config_file_path: "#{config.root}/config/mock_json.yml"
42
+ config.middleware.use Rack::MockJson::Middleware, config_file_path: "#{config.root}/config/mock_json.yml"
43
43
  end
@@ -1,5 +1,5 @@
1
- - :request_path: 'GET /hoge/.*/foo'
2
- :content: '{ "hoge": "foo", "bar" : "fuga" }'
3
- - :request_path: 'POST /user'
4
- :status: 201
5
- :content: '{ "name": "taro", "age" : 17 }'
1
+ - request_path: 'GET /hoge/.*/foo'
2
+ content: '{ "hoge": "foo", "bar" : "fuga" }'
3
+ - request_path: 'POST /user'
4
+ status: 201
5
+ content: '{ "name": "taro", "age" : 17 }'
@@ -4,6 +4,6 @@ require "active_support/core_ext"
4
4
  require "yaml"
5
5
  require "hashie"
6
6
 
7
- require "rack/mock_json/request_handler"
7
+ require "rack/mock_json/middleware"
8
8
  require "rack/mock_json/mock"
9
9
  require "rack/mock_json/version"
@@ -1,20 +1,19 @@
1
1
  module Rack
2
2
  module MockJson
3
- class RequestHandler
3
+ class Middleware
4
4
  def initialize(app, config_file_path: nil)
5
5
  @app = app
6
6
  @mock = Rack::MockJson::Mock.new(config_file_path)
7
7
  end
8
8
 
9
9
  def call(env)
10
- mock_element = @mock.mock_element(request_path(env))
11
-
10
+ @request = Rack::Request.new(env)
11
+ mock_element = @mock.mock_element(request_path)
12
12
  return @app.call(env) if mock_element.nil?
13
13
 
14
14
  [
15
15
  mock_element.status,
16
16
  {
17
-
18
17
  "Content-Type" => "application/json",
19
18
  "Content-Length" => mock_element.content.bytesize.to_s,
20
19
  "X-XSS-Protection" => "1; mode=block",
@@ -27,16 +26,8 @@ module Rack
27
26
 
28
27
  private
29
28
 
30
- def request_path(env)
31
- "#{request_method(env)} #{path_info(env)}"
32
- end
33
-
34
- def path_info(env)
35
- env["PATH_INFO"]
36
- end
37
-
38
- def request_method(env)
39
- env["REQUEST_METHOD"]
29
+ def request_path
30
+ "#{@request.request_method} #{@request.path_info}"
40
31
  end
41
32
  end
42
33
  end
@@ -6,7 +6,7 @@ module Rack
6
6
  end
7
7
 
8
8
  def mock_element(path)
9
- element = @config.find { |e| path.match(/#{e[:request_path]}/).present? }
9
+ element = @config.find { |e| path.match(/#{e["request_path"]}/).present? }
10
10
  return nil if element.blank?
11
11
 
12
12
  element = Hashie::Mash.new(element)
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module MockJson
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -24,4 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_development_dependency "bundler", "~> 1.10"
26
26
  spec.add_development_dependency "rake", "~> 10.0"
27
+ spec.add_development_dependency "rspec", "3.3.0"
28
+ spec.add_development_dependency "rack-test"
29
+ spec.add_development_dependency "json_spec"
27
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-mock_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - fukuiretu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-28 00:00:00.000000000 Z
11
+ date: 2015-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,48 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 3.3.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 3.3.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rack-test
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: json_spec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
69
111
  description: 'any request in the rack layer, returns any json response(Content-Type:
70
112
  application/json) and http status.'
71
113
  email:
@@ -75,6 +117,7 @@ extensions: []
75
117
  extra_rdoc_files: []
76
118
  files:
77
119
  - ".gitignore"
120
+ - ".rspec"
78
121
  - CODE_OF_CONDUCT.md
79
122
  - Gemfile
80
123
  - LICENSE.txt
@@ -82,6 +125,7 @@ files:
82
125
  - Rakefile
83
126
  - bin/console
84
127
  - bin/setup
128
+ - circle.yml
85
129
  - example/rails-example/.gitignore
86
130
  - example/rails-example/Gemfile
87
131
  - example/rails-example/README.rdoc
@@ -140,8 +184,8 @@ files:
140
184
  - example/rails-example/vendor/assets/stylesheets/.keep
141
185
  - lib/rack-mock_json.rb
142
186
  - lib/rack/mock_json.rb
187
+ - lib/rack/mock_json/middleware.rb
143
188
  - lib/rack/mock_json/mock.rb
144
- - lib/rack/mock_json/request_handler.rb
145
189
  - lib/rack/mock_json/version.rb
146
190
  - rack-mock_json.gemspec
147
191
  homepage: https://github.com/fukuiretu/rack-mock_json