committee-rails 0.4.0 → 0.6.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
  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'