committee-rails 0.4.0 → 0.6.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: b640c3b77a994b7172de11d4d3cc0e207d869d11576bb2747ff6b6530be792d3
4
- data.tar.gz: f6ba370310d7fbb0cdc5e60f67cea8e99eafb99b1970d2bd3649046aca60c7ae
3
+ metadata.gz: 3c9e031103394dc6740d2597e215982bc98fc9c3b05cdf1a1e044f350043239e
4
+ data.tar.gz: 0f1c74128a7587828a6e5151caec8d4a2f5dda61d76d24072a133d8b9a4c948f
5
5
  SHA512:
6
- metadata.gz: 6df47e899656d8a8d397d74a1548ddc1106e73806508ed01469afca839dfe4f0c9fc0252a6a89780da3511e07bbc35b1197b380a1035efaa3d0767d38fba093d
7
- data.tar.gz: 47d2ff2e4d8ea5a343d08223c994cefb3298e30596b9b7b298a69e85549ccf85185975d4e717cf7bcfb577a758011d6832a87d88416869e90a60ab603db69840
6
+ metadata.gz: 1038193906d81208ffcbad37fd2a19388d3b9c2978c4a6408cf2a751bd2606b0b74868d7da4689e77a8a9a0f2cbc5223fce36a248162911b54aab7e6ac32597a
7
+ data.tar.gz: 89f12a6200e0523519379b4aede4f4b98449998be4452e0ad2e4810f5090385fc716e9ac7c9e2dad1837520c4c15a62e83e968963415288ff5f3b98399808ca1
@@ -0,0 +1,59 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ types:
9
+ - opened
10
+ - synchronize
11
+ - reopened
12
+
13
+ jobs:
14
+ test:
15
+ runs-on: ubuntu-latest
16
+
17
+ container: ${{ matrix.ruby }}
18
+
19
+ strategy:
20
+ fail-fast: false
21
+
22
+ matrix:
23
+ ruby:
24
+ - ruby:2.4
25
+ - ruby:2.5
26
+ - ruby:2.6
27
+ - ruby:2.7
28
+ - ruby:3.0
29
+ - ruby:3.1
30
+ - rubylang/ruby:master-nightly-bionic
31
+ include:
32
+ - ruby: rubylang/ruby:master-nightly-bionic
33
+ allow_failures: "true"
34
+
35
+ steps:
36
+ - uses: actions/checkout@v2
37
+
38
+ - name: Cache vendor/bundle
39
+ uses: actions/cache@v1
40
+ id: cache_gem
41
+ with:
42
+ path: vendor/bundle
43
+ key: v1-gem-${{ runner.os }}-${{ matrix.ruby }}-${{ github.sha }}
44
+ restore-keys: |
45
+ v1-gem-${{ runner.os }}-${{ matrix.ruby }}-
46
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
47
+
48
+ - name: bundle update
49
+ run: |
50
+ set -xe
51
+ bundle config path vendor/bundle
52
+ bundle update --jobs $(nproc) --retry 3
53
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
54
+
55
+ - name: Run test
56
+ run: |
57
+ set -xe
58
+ bundle exec rake
59
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
data/.gitignore CHANGED
@@ -8,3 +8,5 @@
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  /spec/fake_app/log/
11
+ /spec/fake_app/tmp/
12
+ /gemfiles/*.lock
data/Gemfile CHANGED
@@ -2,3 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in committee-rails.gemspec
4
4
  gemspec
5
+
6
+ gem 'rake', '>= 12.3.3'
7
+ gem 'minitest', '~> 5.0'
8
+ gem 'rspec'
9
+ gem 'rspec-rails'
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![Build Status](https://travis-ci.org/willnet/committee-rails.svg?branch=master)](https://travis-ci.org/willnet/committee-rails)
4
4
  [![Gem Version](https://badge.fury.io/rb/committee-rails.svg)](https://badge.fury.io/rb/committee-rails)
5
5
 
6
- You can use `assert_schema_conform` in rails.
6
+ You can use `assert_response_schema_confirm` in rails.
7
7
 
8
8
  ## Installation
9
9
 
@@ -17,6 +17,13 @@ And then execute:
17
17
 
18
18
  $ bundle
19
19
 
20
+ If you use committee prior to 4.4.0, you have to use committee-rails 0.5.x. Please see below.
21
+
22
+ [0.5 (0-5-stable) documentation](https://github.com/willnet/committee-rails/tree/0-5-stable)
23
+
24
+ If you use committee prior to 3.0, you have to use committee-rails 0.4.x. Please see below.
25
+
26
+ [0.4 (0-4-stable) documentation](https://github.com/willnet/committee-rails/tree/0-4-stable)
20
27
 
21
28
  If you use committee prior to 2.4, you have to use committee-rails 0.3.x. Please see below.
22
29
 
@@ -35,13 +42,17 @@ describe 'request spec' do
35
42
  include Committee::Rails::Test::Methods
36
43
 
37
44
  def committee_options
38
- @committee_options ||= { schema_path: Rails.root.join('schema', 'schema.json').to_s }
45
+ @committee_options ||= {
46
+ schema_path: Rails.root.join('schema', 'schema.json').to_s,
47
+ query_hash_key: 'rack.request.query_hash',
48
+ parse_response_by_content_type: false,
49
+ }
39
50
  end
40
51
 
41
52
  describe 'GET /' do
42
53
  it 'conform json schema' do
43
54
  get '/'
44
- assert_schema_conform
55
+ assert_response_schema_confirm(200)
45
56
  end
46
57
  end
47
58
  end
@@ -53,7 +64,11 @@ If you use rspec, you can use very simple.
53
64
  ```ruby
54
65
  RSpec.configure do |config|
55
66
  config.add_setting :committee_options
56
- config.committee_options = { schema_path: Rails.root.join('schema', 'schema.json').to_s }
67
+ config.committee_options = {
68
+ schema_path: Rails.root.join('schema', 'schema.json').to_s,
69
+ query_hash_key: 'rack.request.query_hash',
70
+ parse_response_by_content_type: false,
71
+ }
57
72
  end
58
73
  ```
59
74
 
@@ -18,13 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.bindir = 'exe'
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
- spec.add_dependency 'committee', '>= 2.4.0'
21
+ spec.add_dependency 'committee', '>= 4.4.0'
22
22
  spec.add_dependency 'activesupport'
23
23
  spec.add_dependency 'actionpack'
24
24
  spec.add_dependency 'railties'
25
- spec.add_development_dependency 'bundler', '~> 1.13'
26
- spec.add_development_dependency 'rake', '~> 10.0'
27
- spec.add_development_dependency 'minitest', '~> 5.0'
28
- spec.add_development_dependency 'rspec'
29
- spec.add_development_dependency 'rspec-rails'
30
25
  end
@@ -0,0 +1,23 @@
1
+ require 'action_dispatch/http/request'
2
+
3
+ module Committee::Rails
4
+ class RequestObject
5
+ delegate_missing_to :@request
6
+
7
+ def initialize(request)
8
+ @request = request
9
+ end
10
+
11
+ def path
12
+ @request.original_fullpath
13
+ end
14
+
15
+ def path_info
16
+ @request.original_fullpath
17
+ end
18
+
19
+ def request_method
20
+ @request.env['action_dispatch.original_request_method'] || @request.request_method
21
+ end
22
+ end
23
+ end
@@ -1,22 +1,16 @@
1
+ require 'committee'
2
+ require 'committee/rails/request_object'
3
+
1
4
  module Committee::Rails
2
5
  module Test
3
6
  module Methods
4
7
  include Committee::Test::Methods
5
8
 
6
- def committee_schema
7
- # this code for 2.4.0, committee 3.x use committee_options
8
- @committee_schema ||= Committee::Middleware::Base.new(nil, committee_options).send(:get_schema, committee_options)
9
- end
10
-
11
9
  def committee_options
12
10
  if defined?(RSpec) && (options = RSpec.try(:configuration).try(:committee_options))
13
11
  options
14
- elsif !defined?(@committee_schema)
15
- { schema: default_schema }
16
12
  else
17
- # schema_url_prefix method call this but the user overrite comittee_schema, we got error
18
- # we can remove in comittee 3.x
19
- { schema: committee_schema }
13
+ { schema_path: default_schema, query_hash_key: 'rack.request.query_hash', parse_response_by_content_type: false }
20
14
  end
21
15
  end
22
16
 
@@ -25,11 +19,11 @@ module Committee::Rails
25
19
  end
26
20
 
27
21
  def request_object
28
- request
22
+ @request_object ||= Committee::Rails::RequestObject.new(integration_session.request)
29
23
  end
30
24
 
31
25
  def response_data
32
- [response.status, response.headers, response.body]
26
+ [integration_session.response.status, integration_session.response.headers, integration_session.response.body]
33
27
  end
34
28
  end
35
29
  end
@@ -1,5 +1,5 @@
1
1
  module Committee
2
2
  module Rails
3
- VERSION = "0.4.0"
3
+ VERSION = "0.6.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: committee-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - willnet
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-21 00:00:00.000000000 Z
11
+ date: 2022-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: committee
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.4.0
19
+ version: 4.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.4.0
26
+ version: 4.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,76 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.13'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.13'
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '10.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '10.0'
97
- - !ruby/object:Gem::Dependency
98
- name: minitest
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '5.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '5.0'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rspec-rails
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
69
  description: Committee for rails
140
70
  email:
141
71
  - netwillnet@gmail.com
@@ -143,8 +73,8 @@ executables: []
143
73
  extensions: []
144
74
  extra_rdoc_files: []
145
75
  files:
76
+ - ".github/workflows/test.yml"
146
77
  - ".gitignore"
147
- - ".travis.yml"
148
78
  - CODE_OF_CONDUCT.md
149
79
  - Gemfile
150
80
  - LICENSE.txt
@@ -154,6 +84,7 @@ files:
154
84
  - bin/setup
155
85
  - committee-rails.gemspec
156
86
  - lib/committee/rails.rb
87
+ - lib/committee/rails/request_object.rb
157
88
  - lib/committee/rails/test/methods.rb
158
89
  - lib/committee/rails/version.rb
159
90
  homepage: https://github.com/willnet/committee-rails
@@ -175,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
106
  - !ruby/object:Gem::Version
176
107
  version: '0'
177
108
  requirements: []
178
- rubyforge_project:
179
- rubygems_version: 2.7.6
109
+ rubygems_version: 3.1.6
180
110
  signing_key:
181
111
  specification_version: 4
182
112
  summary: Committee for rails
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3
5
- - 2.4
6
- - 2.5
7
- - 2.6
8
- before_install:
9
- - gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
10
- - gem install bundler -v '< 2'