wcc-jtj-client 0.1.8 → 0.1.9

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: fdb4d64889a26f6e53ddfff3e83dab47c1e91901702c0742e895ed0a70b0d663
4
- data.tar.gz: 272d10469bd6d3c070d62120dd614f3ac47bb4165ec7d3b7711e351eb0cbf996
3
+ metadata.gz: 696017c2ad72ec343127921f1aa64ca966f4e44c4773f14bdf9d9df4c94083c5
4
+ data.tar.gz: 4a201251e16f3e83a69f3ab70495cd9ecdc73704280b07c81aa77bca96f24d7f
5
5
  SHA512:
6
- metadata.gz: 7980e36863a966b09bcb5d352d0f51db7c1b5cc6f66e30d33515ccd7f1823be3a159f6fbbf32f08e2190b8e10060e25399f0d81d62a6f77f2fbd901a38fd9983
7
- data.tar.gz: 7865b6f47b76a52140ba22b3a1686e7ba93d0da6a76e7e4ef7c9544c8bcf84fe62e59712215e6f370758fceba687947f3b917697590f3b0d9074ba7b7cca1521
6
+ metadata.gz: b50435f553f0e71be454a065447cdf62a77e07750efd01604c70d4ab0fb5c10f1868925463a0bb25b4b4ff8f4f42e7b59bbd09f833e6194f3da43c952699c405
7
+ data.tar.gz: a835f58c86395bb08e0c7c148399a337f003b7bfb95b1163c5e5b4cde385e66461061a82a92709aabb2e01279e1697235b0d7487543f66f441eb5fc17653ca23
data/.rubocop.yml CHANGED
@@ -1,35 +1,13 @@
1
- AllCops:
2
- TargetRubyVersion: 2.3
3
- Exclude:
4
- - '**/templates/**/*'
5
- - '**/vendor/**/*'
6
- Include:
7
- - 'lib/**/*'
8
- - 'Gemfile'
9
- - 'wcc-jtj-client.gemspec'
1
+ inherit_from:
2
+ - http://watermarkchurch.github.io/watermarkchurch/rubocop_base.yml
10
3
 
11
- Metrics/LineLength:
12
- Max: 120
4
+ require:
5
+ - rubocop-performance
13
6
 
14
7
  Naming/FileName:
15
8
  Exclude:
16
- - 'lib/wcc-jtj-client.rb' # Allow "require 'wcc-jtj-client'"
17
-
18
- Style/ClassAndModuleChildren:
19
- Enabled: false
20
-
21
- Style/Documentation:
22
- Enabled: false
9
+ - 'lib/wcc-jtj-client.rb' # allow `require 'wcc-jtj-client'`
23
10
 
24
- Style/GuardClause:
11
+ # We have a lot of OpenStructs in the client intentionally to model flexible JSON
12
+ Style/OpenStructUse:
25
13
  Enabled: false
26
-
27
- Style/IfUnlessModifier:
28
- Enabled: false
29
-
30
- Style/MultilineIfModifier:
31
- Enabled: false
32
-
33
- # This one won't let me EnforcedStyle: slashes, do we need to upgrade rubocop?
34
- Style/RegexpLiteral:
35
- Enabled: false
data/Gemfile CHANGED
@@ -5,17 +5,20 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in wcc-events-client.gemspec
6
6
  gemspec
7
7
 
8
+ # Lock rubocop to the same version the parent app uses
9
+ lockfile = Bundler::LockfileParser.new(Bundler.read_file('../../Gemfile.lock'))
10
+ parent_version = ->(spec) { lockfile.specs.find { |s| s.name == spec }.version.to_s }
11
+
8
12
  group :development, :test do
9
13
  gem 'capybara', '>= 2.15'
10
- gem 'guard', '~> 2.15'
11
- gem 'guard-rspec', '~> 4.7'
12
- gem 'guard-rubocop', '~> 1.3'
13
14
  gem 'rake', '~> 12.3'
14
15
  gem 'rspec', '~> 3.0'
15
16
  gem 'rspec_junit_formatter', '~> 0.4.1'
16
- gem 'rubocop', '~> 0.59.2', require: false
17
- gem 'rubocop-performance', require: false
18
- gem 'simplecov', '~> 0.21.2', require: false
19
- gem 'simplecov-cobertura', '~> 1.4'
17
+ gem 'rubocop', parent_version.call('rubocop'), require: false
18
+ gem 'rubocop-performance', parent_version.call('rubocop-performance'), require: false
19
+ gem 'rubocop-rails', parent_version.call('rubocop-rails'), require: false
20
+ gem 'rubocop-rspec', parent_version.call('rubocop-rspec'), require: false
21
+ gem 'simplecov', parent_version.call('simplecov'), require: false
22
+ gem 'simplecov-cobertura', parent_version.call('simplecov-cobertura')
20
23
  gem 'webmock', '~> 3.1'
21
24
  end
data/Rakefile CHANGED
@@ -1,4 +1,6 @@
1
- require "bundler/gem_tasks"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
2
4
 
3
5
  begin
4
6
  require 'rspec/core/rake_task'
@@ -4,7 +4,7 @@ require 'forwardable'
4
4
 
5
5
  module WCC::JTJ
6
6
  class Client
7
- Response = Struct.new(:client, :request, :raw_response) do # rubocop:disable Metrics/BlockLength
7
+ Response = Struct.new(:client, :request, :raw_response) do
8
8
  extend Forwardable
9
9
 
10
10
  def_delegators :raw_response, :status, :headers
@@ -49,7 +49,7 @@ module WCC::JTJ
49
49
  def each_page(&block)
50
50
  ret = PaginatingEnumerable.new(self)
51
51
 
52
- if block_given?
52
+ if block
53
53
  ret.map(&block)
54
54
  else
55
55
  ret.lazy
@@ -72,7 +72,6 @@ module WCC::JTJ
72
72
 
73
73
  def each
74
74
  page = @initial_page
75
- puts 'yield page'
76
75
  yield page
77
76
 
78
77
  while page.next_page?
@@ -19,7 +19,7 @@ module WCC::JTJ::Client::Responses
19
19
  )
20
20
  end
21
21
  end
22
- alias currentWeek current_week
22
+ alias_method :currentWeek, :current_week
23
23
 
24
24
  define_camelcase_alias(
25
25
  'links'
@@ -28,10 +28,10 @@ module WCC::JTJ::Client::Responses
28
28
  end
29
29
 
30
30
  def validate!
31
- unless curriculum&.id
32
- raise WCC::JTJ::Client::Schemas::SchemaValidationError,
33
- "Not a CurriculumShowResponse! #{raw.url}"
34
- end
31
+ return if curriculum&.id
32
+
33
+ raise WCC::JTJ::Client::Schemas::SchemaValidationError,
34
+ "Not a CurriculumShowResponse! #{raw.url}"
35
35
  end
36
36
  end
37
37
  end
@@ -5,12 +5,12 @@ module WCC::JTJ::Client::Responses
5
5
  def total
6
6
  raw['total']
7
7
  end
8
- alias count total
8
+ alias_method :count, :total
9
9
 
10
10
  def curriculums
11
11
  raw.each_page
12
- .flat_map { |page| page['curriculums'] }
13
- .map do |raw_curriculum|
12
+ .flat_map { |page| page['curriculums'] }
13
+ .map do |raw_curriculum|
14
14
  WCC::JTJ::Client::Schemas::CurriculumSummary.new(
15
15
  raw_curriculum, client: @client
16
16
  )
@@ -25,10 +25,10 @@ module WCC::JTJ::Client::Responses
25
25
  end
26
26
 
27
27
  def validate!
28
- unless total && raw['curriculums'].is_a?(Array)
29
- raise WCC::JTJ::Client::Schemas::SchemaValidationError,
30
- "Not a CurriculumsListResponse! #{raw.url}"
31
- end
28
+ return if total && raw['curriculums'].is_a?(Array)
29
+
30
+ raise WCC::JTJ::Client::Schemas::SchemaValidationError,
31
+ "Not a CurriculumsListResponse! #{raw.url}"
32
32
  end
33
33
  end
34
34
  end
@@ -5,12 +5,12 @@ module WCC::JTJ::Client::Responses
5
5
  def total
6
6
  raw['total']
7
7
  end
8
- alias count total
8
+ alias_method :count, :total
9
9
 
10
10
  def entries
11
11
  raw.each_page
12
- .flat_map { |page| page['entries'] }
13
- .map do |raw_entry|
12
+ .flat_map { |page| page['entries'] }
13
+ .map do |raw_entry|
14
14
  WCC::JTJ::Client::Schemas::EntrySummary.new(
15
15
  raw_entry, client: @client
16
16
  )
@@ -25,10 +25,10 @@ module WCC::JTJ::Client::Responses
25
25
  end
26
26
 
27
27
  def validate!
28
- unless total && raw['entries'].is_a?(Array)
29
- raise WCC::JTJ::Client::Schemas::SchemaValidationError,
30
- "Not an EntriesListResponse! #{raw.url}"
31
- end
28
+ return if total && raw['entries'].is_a?(Array)
29
+
30
+ raise WCC::JTJ::Client::Schemas::SchemaValidationError,
31
+ "Not an EntriesListResponse! #{raw.url}"
32
32
  end
33
33
  end
34
34
  end
@@ -28,10 +28,10 @@ module WCC::JTJ::Client::Responses
28
28
  end
29
29
 
30
30
  def validate!
31
- unless entry&.id
32
- raise WCC::JTJ::Client::Schemas::SchemaValidationError,
33
- "Not an EntryShowResponse! #{raw.url}"
34
- end
31
+ return if entry&.id
32
+
33
+ raise WCC::JTJ::Client::Schemas::SchemaValidationError,
34
+ "Not an EntryShowResponse! #{raw.url}"
35
35
  end
36
36
  end
37
37
  end
@@ -18,10 +18,10 @@ module WCC::JTJ::Client::Responses
18
18
  end
19
19
 
20
20
  def validate!
21
- unless memory_verse&.id
22
- raise WCC::JTJ::Client::Schemas::SchemaValidationError,
23
- "Not a MemoryVerseShowResponse! #{raw.url}"
24
- end
21
+ return if memory_verse&.id
22
+
23
+ raise WCC::JTJ::Client::Schemas::SchemaValidationError,
24
+ "Not a MemoryVerseShowResponse! #{raw.url}"
25
25
  end
26
26
  end
27
27
  end
@@ -5,12 +5,12 @@ module WCC::JTJ::Client::Responses
5
5
  def total
6
6
  raw['total']
7
7
  end
8
- alias count total
8
+ alias_method :count, :total
9
9
 
10
10
  def memory_verses
11
11
  raw.each_page
12
- .flat_map { |page| page['memory_verses'] }
13
- .map do |raw_verse|
12
+ .flat_map { |page| page['memory_verses'] }
13
+ .map do |raw_verse|
14
14
  WCC::JTJ::Client::Schemas::MemoryVerseSummary.new(
15
15
  raw_verse, client: @client
16
16
  )
@@ -25,10 +25,10 @@ module WCC::JTJ::Client::Responses
25
25
  end
26
26
 
27
27
  def validate!
28
- unless total && raw['memory_verses'].is_a?(Array)
29
- raise WCC::JTJ::Client::Schemas::SchemaValidationError,
30
- "Not a MemoryVersesListResponse! #{raw.url}"
31
- end
28
+ return if total && raw['memory_verses'].is_a?(Array)
29
+
30
+ raise WCC::JTJ::Client::Schemas::SchemaValidationError,
31
+ "Not a MemoryVersesListResponse! #{raw.url}"
32
32
  end
33
33
  end
34
34
  end
@@ -4,18 +4,14 @@ module WCC::JTJ::Client::Responses
4
4
  class RootResponse < Base
5
5
  def curriculum
6
6
  @curriculum ||=
7
- if raw['curriculum']
8
- WCC::JTJ::Client::Schemas::CurriculumSummary.new(raw['curriculum'], client: @client)
9
- end
7
+ (WCC::JTJ::Client::Schemas::CurriculumSummary.new(raw['curriculum'], client: @client) if raw['curriculum'])
10
8
  end
11
9
 
12
10
  def latest_entry
13
11
  @latest_entry ||=
14
- if raw['latest_entry']
15
- WCC::JTJ::Client::Schemas::Entry.new(raw['latest_entry'], client: @client)
16
- end
12
+ (WCC::JTJ::Client::Schemas::Entry.new(raw['latest_entry'], client: @client) if raw['latest_entry'])
17
13
  end
18
- alias latestEntry latest_entry
14
+ alias_method :latestEntry, :latest_entry
19
15
 
20
16
  def current_week
21
17
  @current_week ||=
@@ -25,7 +21,7 @@ module WCC::JTJ::Client::Responses
25
21
  )
26
22
  end
27
23
  end
28
- alias currentWeek current_week
24
+ alias_method :currentWeek, :current_week
29
25
 
30
26
  define_camelcase_alias(
31
27
  'settings',
@@ -9,6 +9,7 @@ module WCC::JTJ::Client::Schemas
9
9
  extend WCC::JTJ::Client::Utils
10
10
 
11
11
  attr_reader :raw
12
+
12
13
  def_delegators :raw, :[], :dig, :to_h, :to_json
13
14
 
14
15
  def initialize(raw, client: WCC::JTJ::Client.client)
@@ -16,6 +17,7 @@ module WCC::JTJ::Client::Schemas
16
17
  @client = client
17
18
  end
18
19
 
19
- def validate!; end
20
+ def validate!
21
+ end
20
22
  end
21
23
  end
@@ -21,9 +21,9 @@ module WCC::JTJ::Client::Schemas
21
21
  raw[snake_case]
22
22
  end
23
23
  end
24
- alias startDate start_date
25
- alias endDate end_date
26
- alias daysOfWeek days_of_week
24
+ alias_method :startDate, :start_date
25
+ alias_method :endDate, :end_date
26
+ alias_method :daysOfWeek, :days_of_week
27
27
 
28
28
  def links
29
29
  OpenStruct.new(raw['links']) if raw['links']
@@ -27,31 +27,23 @@ module WCC::JTJ::Client::Schemas
27
27
 
28
28
  def key_verse
29
29
  @key_verse ||=
30
- if raw['key_verse']
31
- WCC::JTJ::Client::Schemas::Scripture.new(raw['key_verse'], client: @client)
32
- end
30
+ (WCC::JTJ::Client::Schemas::Scripture.new(raw['key_verse'], client: @client) if raw['key_verse'])
33
31
  end
34
- alias keyVerse key_verse
32
+ alias_method :keyVerse, :key_verse
35
33
 
36
34
  def writer
37
35
  @writer ||=
38
- if raw['writer']
39
- WCC::JTJ::Client::Schemas::Writer.new(raw['writer'], client: @client)
40
- end
36
+ (WCC::JTJ::Client::Schemas::Writer.new(raw['writer'], client: @client) if raw['writer'])
41
37
  end
42
38
 
43
39
  def podcast
44
40
  @podcast ||=
45
- if raw['podcast']
46
- WCC::JTJ::Client::Schemas::Podcast.new(raw['podcast'], client: @client)
47
- end
41
+ (WCC::JTJ::Client::Schemas::Podcast.new(raw['podcast'], client: @client) if raw['podcast'])
48
42
  end
49
43
 
50
44
  def memory_verse
51
45
  @memory_verse ||=
52
- if raw['memory_verse']
53
- WCC::JTJ::Client::Schemas::MemoryVerse.new(raw['memory_verse'], client: @client)
54
- end
46
+ (WCC::JTJ::Client::Schemas::MemoryVerse.new(raw['memory_verse'], client: @client) if raw['memory_verse'])
55
47
  end
56
48
 
57
49
  def links
@@ -16,9 +16,7 @@ module WCC::JTJ::Client::Schemas
16
16
 
17
17
  def podcast
18
18
  @podcast ||=
19
- if raw['podcast']
20
- WCC::JTJ::Client::Schemas::Podcast.new(raw['podcast'], client: @client)
21
- end
19
+ (WCC::JTJ::Client::Schemas::Podcast.new(raw['podcast'], client: @client) if raw['podcast'])
22
20
  end
23
21
 
24
22
  def links
@@ -6,8 +6,8 @@ module WCC::JTJ::Client::Utils
6
6
  def camelcase(term)
7
7
  term
8
8
  .to_s
9
- .gsub(%r{(?:_|(/))([a-z\d]*)}) { "#{Regexp.last_match(1)}#{Regexp.last_match(2).capitalize}" }
10
- .gsub(%r{/}, '::')
9
+ .gsub(/(?:_|(\/))([a-z\d]*)/) { "#{Regexp.last_match(1)}#{Regexp.last_match(2).capitalize}" }
10
+ .gsub('/', '::')
11
11
  end
12
12
 
13
13
  def define_camelcase_alias(*underscore_method_names, &block)
@@ -3,7 +3,7 @@
3
3
  module WCC
4
4
  module JTJ
5
5
  class Client
6
- VERSION = '0.1.8'
6
+ VERSION = '0.1.9'
7
7
  end
8
8
  end
9
9
  end
@@ -2,32 +2,32 @@
2
2
 
3
3
  require 'faraday'
4
4
 
5
- require_relative './client/version'
6
- require_relative './client/utils'
7
- require_relative './client/response'
8
-
9
- require_relative './client/schemas/base'
10
- require_relative './client/schemas/schema_validation_error'
11
- require_relative './client/schemas/curriculum_summary'
12
- require_relative './client/schemas/entry_summary'
13
- require_relative './client/schemas/entry'
14
- require_relative './client/schemas/scripture'
15
- require_relative './client/schemas/podcast'
16
- require_relative './client/schemas/writer'
17
- require_relative './client/schemas/memory_verse_summary'
18
- require_relative './client/schemas/memory_verse'
19
-
20
- require_relative './client/responses/base'
21
- require_relative './client/responses/root_response'
22
- require_relative './client/responses/curriculums_list_response'
23
- require_relative './client/responses/curriculum_show_response'
24
- require_relative './client/responses/entries_list_response'
25
- require_relative './client/responses/entry_show_response'
26
- require_relative './client/responses/memory_verses_list_response'
27
- require_relative './client/responses/memory_verse_show_response'
5
+ require_relative 'client/version'
6
+ require_relative 'client/utils'
7
+ require_relative 'client/response'
8
+
9
+ require_relative 'client/schemas/base'
10
+ require_relative 'client/schemas/schema_validation_error'
11
+ require_relative 'client/schemas/curriculum_summary'
12
+ require_relative 'client/schemas/entry_summary'
13
+ require_relative 'client/schemas/entry'
14
+ require_relative 'client/schemas/scripture'
15
+ require_relative 'client/schemas/podcast'
16
+ require_relative 'client/schemas/writer'
17
+ require_relative 'client/schemas/memory_verse_summary'
18
+ require_relative 'client/schemas/memory_verse'
19
+
20
+ require_relative 'client/responses/base'
21
+ require_relative 'client/responses/root_response'
22
+ require_relative 'client/responses/curriculums_list_response'
23
+ require_relative 'client/responses/curriculum_show_response'
24
+ require_relative 'client/responses/entries_list_response'
25
+ require_relative 'client/responses/entry_show_response'
26
+ require_relative 'client/responses/memory_verses_list_response'
27
+ require_relative 'client/responses/memory_verse_show_response'
28
28
 
29
29
  module WCC::JTJ
30
- class Client # rubocop:disable Metrics/ClassLength
30
+ class Client
31
31
  class << self
32
32
  attr_writer :client
33
33
 
@@ -62,8 +62,8 @@ module WCC::JTJ
62
62
  url = URI.join(@base_url, path)
63
63
 
64
64
  Response.new(self,
65
- { url: url, query: query },
66
- get_http(url, query))
65
+ { url: url, query: query },
66
+ get_http(url, query))
67
67
  end
68
68
 
69
69
  # rubocop:disable Naming/AccessorMethodName
@@ -89,7 +89,7 @@ module WCC::JTJ
89
89
  raise ArgumentError, 'please provide curriculum ID' unless id_or_link
90
90
 
91
91
  path =
92
- if /^https?:\/\// =~ id_or_link.to_s
92
+ if /^https?:\/\//.match?(id_or_link.to_s)
93
93
  id_or_link
94
94
  else
95
95
  File.join(base_path, 'curriculums', id_or_link.to_s)
@@ -111,17 +111,17 @@ module WCC::JTJ
111
111
  Responses::EntriesListResponse.new(resp, client: self).tap(&:validate!)
112
112
  end
113
113
 
114
- def get_entry(id_or_link, preview_code: nil)
114
+ def get_entry(id_or_link, preview_code: nil, **query)
115
115
  raise ArgumentError, 'please provide entry ID' unless id_or_link
116
116
 
117
117
  path =
118
- if /^https?:\/\// =~ id_or_link.to_s
118
+ if /^https?:\/\//.match?(id_or_link.to_s)
119
119
  id_or_link
120
120
  else
121
121
  File.join(base_path, 'entries', id_or_link.to_s)
122
122
  end
123
123
 
124
- query = preview_code ? { preview_code: preview_code } : {}
124
+ query = query.merge(preview_code: preview_code) if preview_code
125
125
 
126
126
  resp = get(path, query).assert_ok!
127
127
 
@@ -153,7 +153,7 @@ module WCC::JTJ
153
153
  raise ArgumentError, 'please provide memory verse ID' unless id_or_link
154
154
 
155
155
  path =
156
- if /^https?:\/\// =~ id_or_link.to_s
156
+ if /^https?:\/\//.match?(id_or_link.to_s)
157
157
  id_or_link
158
158
  else
159
159
  File.join(base_path, 'memory_verses', id_or_link.to_s)
@@ -166,13 +166,15 @@ module WCC::JTJ
166
166
 
167
167
  private
168
168
 
169
+ REDIRECT_STATUS_CODES = [301, 302, 307].freeze
170
+
169
171
  def get_http(url, query, headers = {})
170
172
  q = @query_defaults.merge(query || {})
171
173
 
172
174
  loop do
173
175
  resp = @connection.get(url, q, headers)
174
176
 
175
- if [301, 302, 307].include?(resp.status)
177
+ if REDIRECT_STATUS_CODES.include?(resp.status)
176
178
  url = URI.join(@base_url, resp.headers['Location'])
177
179
  next
178
180
  end
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative './wcc/jtj/client'
3
+ require_relative 'wcc/jtj/client'
@@ -14,14 +14,15 @@ Gem::Specification.new do |spec|
14
14
  spec.description = ''
15
15
  spec.license = 'Not licensed for external use'
16
16
 
17
- spec.required_ruby_version = '>= 2.3'
17
+ spec.required_ruby_version = '>= 2.7'
18
18
 
19
19
  spec.files =
20
20
  `git ls-files -z`.split("\x0").reject do |f|
21
- f.match(%r{^(test|spec|features)/})
21
+ f.match(/^(test|spec|features)\//)
22
22
  end
23
23
 
24
24
  spec.require_paths = ['lib']
25
25
 
26
26
  spec.add_runtime_dependency 'faraday'
27
+ spec.metadata['rubygems_mfa_required'] = 'true'
27
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wcc-jtj-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watermark Dev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-21 00:00:00.000000000 Z
11
+ date: 2023-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -59,11 +59,12 @@ files:
59
59
  - lib/wcc/jtj/client/utils.rb
60
60
  - lib/wcc/jtj/client/version.rb
61
61
  - wcc-jtj-client.gemspec
62
- homepage:
62
+ homepage:
63
63
  licenses:
64
64
  - Not licensed for external use
65
- metadata: {}
66
- post_install_message:
65
+ metadata:
66
+ rubygems_mfa_required: 'true'
67
+ post_install_message:
67
68
  rdoc_options: []
68
69
  require_paths:
69
70
  - lib
@@ -71,7 +72,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - ">="
73
74
  - !ruby/object:Gem::Version
74
- version: '2.3'
75
+ version: '2.7'
75
76
  required_rubygems_version: !ruby/object:Gem::Requirement
76
77
  requirements:
77
78
  - - ">="
@@ -79,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
80
  version: '0'
80
81
  requirements: []
81
82
  rubygems_version: 3.1.6
82
- signing_key:
83
+ signing_key:
83
84
  specification_version: 4
84
85
  summary: Internal Watermark.org gem, not licensed for external use.
85
86
  test_files: []