chatwork 0.12.3 → 1.0.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 +4 -4
- data/.github/workflows/test.yml +2 -5
- data/.rubocop.yml +23 -2
- data/CHANGELOG.md +7 -1
- data/Gemfile +1 -1
- data/bin/console +1 -1
- data/chatwork.gemspec +9 -6
- data/gemfiles/{faraday_0.gemfile → faraday_2.gemfile} +2 -2
- data/lib/chatwork/base_client.rb +1 -4
- data/lib/chatwork/chatwork_error.rb +3 -4
- data/lib/chatwork/client/task_methods.rb +2 -2
- data/lib/chatwork/converter.rb +0 -4
- data/lib/chatwork/multipart.rb +2 -2
- data/lib/chatwork/version.rb +1 -1
- data/lib/chatwork.rb +3 -1
- data/spec/lib/chatwork/oauth_client/token_methods_spec.rb +2 -2
- data/spec/lib/chatwork_spec.rb +3 -6
- data/spec/spec_helper.rb +2 -2
- data/spec/support/contexts/api_context.rb +4 -4
- data/spec/support/utils/raml_parser.rb +1 -1
- metadata +29 -17
- data/gemfiles/common.gemfile +0 -18
- data/gemfiles/faraday_1.gemfile +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ebd6f01a2cc37a47a6257aeb737ff651136d8648fdbc789d7b04ead47871b7f
|
4
|
+
data.tar.gz: cc0dd6dad262c74a62a60935c0fd2f7eeacbbcc354e8c9537dcac32484b005ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4adfba5cbacb2c7d013890d1e023b2b8e3edec7c0a485f3d9e73c0142c34e1f84ecf67cf9238abab519640ecbb932eb2270075829ff7268a316e0f684714f880
|
7
|
+
data.tar.gz: eee04c8ba3baf1754b1b497f265dad2be39583a24bda1ba8d6f29ae9b9f85442e2b55570c0c8d9fa45526070621d3c9e423e6ed852937cbc1c7e84240a822631
|
data/.github/workflows/test.yml
CHANGED
@@ -26,15 +26,13 @@ jobs:
|
|
26
26
|
|
27
27
|
matrix:
|
28
28
|
ruby:
|
29
|
-
- ruby:2.4
|
30
|
-
- ruby:2.5
|
31
29
|
- ruby:2.6
|
32
30
|
- ruby:2.7
|
33
31
|
- ruby:3.0
|
32
|
+
- ruby:3.1
|
34
33
|
- rubylang/ruby:master-nightly-bionic
|
35
34
|
gemfile:
|
36
|
-
-
|
37
|
-
- faraday_1
|
35
|
+
- faraday_2
|
38
36
|
include:
|
39
37
|
- ruby: rubylang/ruby:master-nightly-bionic
|
40
38
|
allow_failures: "true"
|
@@ -76,7 +74,6 @@ jobs:
|
|
76
74
|
|
77
75
|
- run: bundle exec rubocop
|
78
76
|
continue-on-error: ${{ matrix.allow_failures == 'true' }}
|
79
|
-
if: matrix.ruby < 'ruby:3.0' # FIXME: remove this after upgrade rubocop
|
80
77
|
|
81
78
|
finish:
|
82
79
|
needs: test
|
data/.rubocop.yml
CHANGED
@@ -6,6 +6,9 @@ inherit_gem:
|
|
6
6
|
require: rubocop-rspec
|
7
7
|
|
8
8
|
AllCops:
|
9
|
+
NewCops: enable
|
10
|
+
SuggestExtensions: false
|
11
|
+
TargetRubyVersion: 2.6
|
9
12
|
Exclude:
|
10
13
|
- 'gemfiles/vendor/**/*'
|
11
14
|
|
@@ -15,9 +18,27 @@ AllCops:
|
|
15
18
|
- 'vendor/**/*'
|
16
19
|
- '.git/**/*'
|
17
20
|
|
18
|
-
|
19
|
-
|
21
|
+
Layout/HashAlignment:
|
22
|
+
EnforcedColonStyle: table
|
23
|
+
|
24
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
20
25
|
Enabled: false
|
21
26
|
|
22
27
|
Metrics/ParameterLists:
|
23
28
|
Max: 6
|
29
|
+
|
30
|
+
# module name is `ChatWork`, but I want to use `chatwork` as filename
|
31
|
+
RSpec/FilePath:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
RSpec/MultipleExpectations:
|
35
|
+
Enabled: false
|
36
|
+
|
37
|
+
RSpec/MultipleMemoizedHelpers:
|
38
|
+
Enabled: false
|
39
|
+
|
40
|
+
RSpec/SharedExamples:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
Style/KeywordParametersOrder:
|
44
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
# Change Log
|
2
2
|
## Unreleased
|
3
|
-
[Full Changelog](https://github.com/asonas/chatwork-ruby/compare/
|
3
|
+
[Full Changelog](https://github.com/asonas/chatwork-ruby/compare/v1.0.0...master)
|
4
|
+
|
5
|
+
## v1.0.0
|
6
|
+
[Full Changelog](https://github.com/asonas/chatwork-ruby/compare/v0.12.3...v1.0.0)
|
7
|
+
|
8
|
+
* :bomb: **[BREAKING CHANGE]** Support faraday v2+ and drop support ruby < 2.6
|
9
|
+
* https://github.com/asonas/chatwork-ruby/pull/78
|
4
10
|
|
5
11
|
## v0.12.3
|
6
12
|
[Full Changelog](https://github.com/asonas/chatwork-ruby/compare/v0.12.2...v0.12.3)
|
data/Gemfile
CHANGED
data/bin/console
CHANGED
data/chatwork.gemspec
CHANGED
@@ -22,21 +22,24 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
|
-
spec.
|
26
|
-
|
27
|
-
spec.add_dependency "
|
25
|
+
spec.required_ruby_version = ">= 2.6.0"
|
26
|
+
|
27
|
+
spec.add_dependency "faraday", ">= 2.0.0"
|
28
|
+
spec.add_dependency "faraday-mashify"
|
29
|
+
spec.add_dependency "faraday-multipart"
|
28
30
|
|
29
31
|
spec.add_development_dependency "activesupport"
|
30
32
|
spec.add_development_dependency "bundler", ">= 1.3"
|
31
33
|
spec.add_development_dependency "dotenv"
|
32
34
|
spec.add_development_dependency "faraday_curl"
|
33
|
-
spec.add_development_dependency "onkcop", "0.
|
35
|
+
spec.add_development_dependency "onkcop", "1.0.0.0"
|
34
36
|
spec.add_development_dependency "rake"
|
35
37
|
spec.add_development_dependency "rspec"
|
36
38
|
spec.add_development_dependency "rspec-its"
|
37
39
|
spec.add_development_dependency "rspec-parameterized"
|
38
|
-
spec.add_development_dependency "rubocop", "
|
39
|
-
spec.add_development_dependency "
|
40
|
+
spec.add_development_dependency "rubocop", "1.24.1"
|
41
|
+
spec.add_development_dependency "rubocop_auto_corrector"
|
42
|
+
spec.add_development_dependency "rubocop-rspec", "2.7.0"
|
40
43
|
spec.add_development_dependency "simplecov"
|
41
44
|
spec.add_development_dependency "simplecov-lcov"
|
42
45
|
spec.add_development_dependency "webmock"
|
data/lib/chatwork/base_client.rb
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
require "faraday"
|
2
|
-
require "faraday_middleware"
|
3
|
-
|
4
1
|
module ChatWork
|
5
2
|
class BaseClient
|
6
3
|
include Converter
|
@@ -44,7 +41,7 @@ module ChatWork
|
|
44
41
|
end
|
45
42
|
|
46
43
|
begin
|
47
|
-
response = @conn.__send__(method, @api_version + url,
|
44
|
+
response = @conn.__send__(method, @api_version + url, args.compact)
|
48
45
|
rescue *faraday_errors => e
|
49
46
|
raise ChatWork::APIConnectionError.faraday_error(e)
|
50
47
|
end
|
@@ -21,8 +21,7 @@ module ChatWork
|
|
21
21
|
APIConnectionError.new("Invalid response #{body.to_hash} (status: #{status})")
|
22
22
|
end
|
23
23
|
|
24
|
-
attr_reader :status
|
25
|
-
attr_reader :error_response
|
24
|
+
attr_reader :status, :error_response
|
26
25
|
|
27
26
|
def initialize(message, status = nil, error_response = nil)
|
28
27
|
@status = status
|
@@ -69,10 +68,10 @@ module ChatWork
|
|
69
68
|
end
|
70
69
|
|
71
70
|
def self.from_www_authenticate(www_authenticate:, status:, error_response:)
|
72
|
-
www_authenticate =~ /error="([
|
71
|
+
www_authenticate =~ /error="([^"]+)"/
|
73
72
|
error = Regexp.last_match(1)
|
74
73
|
|
75
|
-
www_authenticate =~ /error_description="([
|
74
|
+
www_authenticate =~ /error_description="([^"]+)"/
|
76
75
|
error_description = Regexp.last_match(1)
|
77
76
|
|
78
77
|
AuthenticateError.new(
|
@@ -65,8 +65,8 @@ module ChatWork::Client::TaskMethods
|
|
65
65
|
# }
|
66
66
|
def create_task(room_id:, body:, to_ids:, limit: nil, limit_type: nil, &block)
|
67
67
|
params = {
|
68
|
-
body:
|
69
|
-
to_ids:
|
68
|
+
body: body,
|
69
|
+
to_ids: Array(to_ids).join(","),
|
70
70
|
limit_type: limit_type,
|
71
71
|
}
|
72
72
|
params[:limit] = limit.to_i if limit
|
data/lib/chatwork/converter.rb
CHANGED
data/lib/chatwork/multipart.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module ChatWork
|
2
|
-
class Multipart < ::Faraday::
|
2
|
+
class Multipart < ::Faraday::Multipart::Middleware
|
3
3
|
self.mime_type = "multipart/form-data".freeze
|
4
4
|
|
5
5
|
def create_multipart(env, params)
|
@@ -17,7 +17,7 @@ module ChatWork
|
|
17
17
|
end
|
18
18
|
|
19
19
|
class EpiloguePart < ::Faraday::Parts::EpiloguePart
|
20
|
-
def initialize(boundary)
|
20
|
+
def initialize(boundary) # rubocop:disable Lint/MissingSuper
|
21
21
|
# NOTE: ChatWork doesn't accepts ending "\r\n\r\n" of payload...
|
22
22
|
# @part = "--#{boundary}--\r\n\r\n"
|
23
23
|
@part = "--#{boundary}--\r\n"
|
data/lib/chatwork/version.rb
CHANGED
data/lib/chatwork.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require "chatwork/version"
|
2
2
|
require "hashie"
|
3
3
|
require "faraday"
|
4
|
+
require "faraday/mashify"
|
5
|
+
require "faraday/multipart"
|
4
6
|
|
5
7
|
module ChatWork
|
6
8
|
autoload :BaseClient, "chatwork/base_client"
|
@@ -34,7 +36,7 @@ module ChatWork
|
|
34
36
|
@client_secret = nil
|
35
37
|
|
36
38
|
Faraday::Request.register_middleware(
|
37
|
-
chatwork_multipart:
|
39
|
+
chatwork_multipart: ChatWork::Multipart,
|
38
40
|
)
|
39
41
|
|
40
42
|
class << self
|
@@ -13,7 +13,7 @@ describe ChatWork::OAuthClient::TokenMethods do
|
|
13
13
|
context "when successful" do
|
14
14
|
before do
|
15
15
|
stub_request(:post, "https://oauth.chatwork.com/token").
|
16
|
-
with(body:
|
16
|
+
with(body: { "grant_type" => "refresh_token", "refresh_token" => refresh_token },
|
17
17
|
headers: { "Authorization" => "Basic #{signature}", "Content-Type" => "application/x-www-form-urlencoded" }).
|
18
18
|
to_return(status: 200, body: token.to_json, headers: { "Content-Type" => "application/json" })
|
19
19
|
end
|
@@ -38,7 +38,7 @@ describe ChatWork::OAuthClient::TokenMethods do
|
|
38
38
|
context "when failure" do
|
39
39
|
before do
|
40
40
|
stub_request(:post, "https://oauth.chatwork.com/token").
|
41
|
-
with(body:
|
41
|
+
with(body: { "grant_type" => "refresh_token", "refresh_token" => refresh_token },
|
42
42
|
headers: { "Authorization" => "Basic #{signature}", "Content-Type" => "application/x-www-form-urlencoded" }).
|
43
43
|
to_return(status: 401, body: body.to_json, headers: { "Content-Type" => "application/json" })
|
44
44
|
end
|
data/spec/lib/chatwork_spec.rb
CHANGED
@@ -14,6 +14,7 @@ describe ChatWork do
|
|
14
14
|
|
15
15
|
it { should eq("https://api.chatwork.com/") }
|
16
16
|
end
|
17
|
+
|
17
18
|
describe "#api_base=" do
|
18
19
|
before { ChatWork.api_base = "https://test.example.com/" }
|
19
20
|
|
@@ -22,12 +23,6 @@ describe ChatWork do
|
|
22
23
|
|
23
24
|
it { should eq("https://test.example.com/") }
|
24
25
|
end
|
25
|
-
|
26
|
-
describe "#api_base" do
|
27
|
-
subject { super().api_base }
|
28
|
-
|
29
|
-
it { should eq("https://test.example.com/") }
|
30
|
-
end
|
31
26
|
end
|
32
27
|
|
33
28
|
describe "#api_key" do
|
@@ -42,6 +37,7 @@ describe ChatWork do
|
|
42
37
|
|
43
38
|
let(:test_token) { "chatwork_test_token" }
|
44
39
|
before { ENV["CHATWORK_API_TOKEN"] = test_token }
|
40
|
+
|
45
41
|
it { is_expected.to eq test_token }
|
46
42
|
end
|
47
43
|
end
|
@@ -58,6 +54,7 @@ describe ChatWork do
|
|
58
54
|
|
59
55
|
let(:test_token) { "chatwork_test_token" }
|
60
56
|
before { ENV["CHATWORK_ACCESS_TOKEN"] = test_token }
|
57
|
+
|
61
58
|
it { is_expected.to eq test_token }
|
62
59
|
end
|
63
60
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -26,10 +26,10 @@ require "active_support/all"
|
|
26
26
|
|
27
27
|
begin
|
28
28
|
require "backport_dig"
|
29
|
-
rescue LoadError # rubocop:disable Lint/
|
29
|
+
rescue LoadError # rubocop:disable Lint/SuppressedException
|
30
30
|
end
|
31
31
|
|
32
|
-
Dir["#{__dir__}/support/**/*.rb"].each {|f| require f }
|
32
|
+
Dir["#{__dir__}/support/**/*.rb"].sort.each {|f| require f }
|
33
33
|
|
34
34
|
def spec_dir
|
35
35
|
Pathname(__dir__)
|
@@ -4,10 +4,10 @@ RSpec.shared_context :api_context, type: :api do
|
|
4
4
|
|
5
5
|
let(:response_headers) do
|
6
6
|
{
|
7
|
-
"Content-Type"
|
8
|
-
"X-RateLimit-Limit"
|
7
|
+
"Content-Type" => "application/json",
|
8
|
+
"X-RateLimit-Limit" => ratelimit_limit,
|
9
9
|
"X-RateLimit-Remaining" => ratelimit_remaining,
|
10
|
-
"X-RateLimit-Reset"
|
10
|
+
"X-RateLimit-Reset" => ratelimit_reset,
|
11
11
|
}
|
12
12
|
end
|
13
13
|
|
@@ -30,7 +30,7 @@ RSpec.shared_context :api_context, type: :api do
|
|
30
30
|
unless query_example.empty?
|
31
31
|
case expected_verb
|
32
32
|
when :get, :delete
|
33
|
-
query_string = "
|
33
|
+
query_string = "?#{query_example.to_query}"
|
34
34
|
when :post, :put
|
35
35
|
request_options[:headers]["Content-Type"] = "application/x-www-form-urlencoded"
|
36
36
|
request_options[:body] = query_example.transform_values(&:to_s)
|
@@ -33,7 +33,7 @@ module RamlParser
|
|
33
33
|
nil
|
34
34
|
end
|
35
35
|
|
36
|
-
def self.find_query_parameter_example(verb, path)
|
36
|
+
def self.find_query_parameter_example(verb, path) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
|
37
37
|
resource = find_resource(verb, path)
|
38
38
|
return {} unless resource
|
39
39
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chatwork
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- asonas
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-01-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -17,16 +17,16 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 2.0.0
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 2.0.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: faraday-mashify
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: faraday-multipart
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - ">="
|
@@ -115,14 +115,14 @@ dependencies:
|
|
115
115
|
requirements:
|
116
116
|
- - '='
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
118
|
+
version: 1.0.0.0
|
119
119
|
type: :development
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
123
|
- - '='
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
125
|
+
version: 1.0.0.0
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: rake
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,28 +185,42 @@ dependencies:
|
|
185
185
|
requirements:
|
186
186
|
- - '='
|
187
187
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
188
|
+
version: 1.24.1
|
189
189
|
type: :development
|
190
190
|
prerelease: false
|
191
191
|
version_requirements: !ruby/object:Gem::Requirement
|
192
192
|
requirements:
|
193
193
|
- - '='
|
194
194
|
- !ruby/object:Gem::Version
|
195
|
-
version:
|
195
|
+
version: 1.24.1
|
196
|
+
- !ruby/object:Gem::Dependency
|
197
|
+
name: rubocop_auto_corrector
|
198
|
+
requirement: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- - ">="
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '0'
|
203
|
+
type: :development
|
204
|
+
prerelease: false
|
205
|
+
version_requirements: !ruby/object:Gem::Requirement
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
196
210
|
- !ruby/object:Gem::Dependency
|
197
211
|
name: rubocop-rspec
|
198
212
|
requirement: !ruby/object:Gem::Requirement
|
199
213
|
requirements:
|
200
214
|
- - '='
|
201
215
|
- !ruby/object:Gem::Version
|
202
|
-
version:
|
216
|
+
version: 2.7.0
|
203
217
|
type: :development
|
204
218
|
prerelease: false
|
205
219
|
version_requirements: !ruby/object:Gem::Requirement
|
206
220
|
requirements:
|
207
221
|
- - '='
|
208
222
|
- !ruby/object:Gem::Version
|
209
|
-
version:
|
223
|
+
version: 2.7.0
|
210
224
|
- !ruby/object:Gem::Dependency
|
211
225
|
name: simplecov
|
212
226
|
requirement: !ruby/object:Gem::Requirement
|
@@ -285,9 +299,7 @@ files:
|
|
285
299
|
- Rakefile
|
286
300
|
- bin/console
|
287
301
|
- chatwork.gemspec
|
288
|
-
- gemfiles/
|
289
|
-
- gemfiles/faraday_0.gemfile
|
290
|
-
- gemfiles/faraday_1.gemfile
|
302
|
+
- gemfiles/faraday_2.gemfile
|
291
303
|
- lib/chatwork.rb
|
292
304
|
- lib/chatwork/base_client.rb
|
293
305
|
- lib/chatwork/chatwork_error.rb
|
@@ -371,14 +383,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
371
383
|
requirements:
|
372
384
|
- - ">="
|
373
385
|
- !ruby/object:Gem::Version
|
374
|
-
version:
|
386
|
+
version: 2.6.0
|
375
387
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
376
388
|
requirements:
|
377
389
|
- - ">="
|
378
390
|
- !ruby/object:Gem::Version
|
379
391
|
version: '0'
|
380
392
|
requirements: []
|
381
|
-
rubygems_version: 3.
|
393
|
+
rubygems_version: 3.3.3
|
382
394
|
signing_key:
|
383
395
|
specification_version: 4
|
384
396
|
summary: Ruby bindings of ChatWork API
|
data/gemfiles/common.gemfile
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.3.0")
|
2
|
-
group :test do
|
3
|
-
gem "backport_dig", group: :development
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
|
-
if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.2.2")
|
8
|
-
group :test do
|
9
|
-
gem "activesupport", "< 5.0.0", group: :development
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.5.0")
|
14
|
-
group :test do
|
15
|
-
# NOTE: unparser v0.3.0+ requires Ruby 2.5+
|
16
|
-
gem "unparser", "< 0.3.0"
|
17
|
-
end
|
18
|
-
end
|