sutty-cli 0.2.1 → 0.3.0rc3
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/config/locales/en.yml +290 -0
- data/config/locales/es.yml +285 -0
- data/lib/sutty/cli/cli.rb +43 -35
- data/lib/sutty/cli/commands/container.rb +4 -1
- data/lib/sutty/cli/commands/field.rb +94 -38
- data/lib/sutty/cli/commands/layout.rb +34 -21
- data/lib/sutty/cli/commands/theme.rb +18 -7
- data/lib/sutty/cli/i18n.rb +12 -0
- data/lib/sutty/cli/version.rb +1 -1
- data/lib/sutty/drop_stub.rb +10 -0
- data/lib/sutty/schema.rb +250 -0
- metadata +51 -29
- data/lib/sutty/cli/templates/field/array.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/belongs_to.yml.erb +0 -16
- data/lib/sutty/cli/templates/field/boolean.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/color.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/content.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/date.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/email.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/encrypted_text.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/event.yml.erb +0 -40
- data/lib/sutty/cli/templates/field/file.yml.erb +0 -19
- data/lib/sutty/cli/templates/field/geo.yml.erb +0 -17
- data/lib/sutty/cli/templates/field/has_and_belongs_to_many.yml.erb +0 -16
- data/lib/sutty/cli/templates/field/has_many.yml.erb +0 -16
- data/lib/sutty/cli/templates/field/image.yml.erb +0 -19
- data/lib/sutty/cli/templates/field/locales.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/markdown.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/markdown_content.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/number.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/order.yml.erb +0 -11
- data/lib/sutty/cli/templates/field/predefined_array.yml.erb +0 -18
- data/lib/sutty/cli/templates/field/related_posts.yml.erb +0 -15
- data/lib/sutty/cli/templates/field/string.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/tel.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/text.yml.erb +0 -14
- data/lib/sutty/cli/templates/field/url.yml.erb +0 -14
|
@@ -6,8 +6,10 @@ require 'tty-command'
|
|
|
6
6
|
module Sutty
|
|
7
7
|
module Cli
|
|
8
8
|
module Commands
|
|
9
|
+
# Genera una plantilla nueva, a partir de sutty-base-jekyll-theme
|
|
10
|
+
# y realiza la configuración inicial del repositorio.
|
|
9
11
|
class Theme < Sutty::Cli::Command
|
|
10
|
-
attr_reader :name
|
|
12
|
+
attr_reader :name, :options
|
|
11
13
|
|
|
12
14
|
def initialize(name, options)
|
|
13
15
|
@name = name
|
|
@@ -20,27 +22,36 @@ module Sutty
|
|
|
20
22
|
Dir.chdir theme_name do
|
|
21
23
|
cmd.run('git remote rename origin upstream')
|
|
22
24
|
cmd.run('git remote add origin', origin)
|
|
23
|
-
cmd.run('git
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
cmd.run('git lfs fetch --all upstream')
|
|
26
|
+
|
|
27
|
+
unless options[:no_push]
|
|
28
|
+
cmd.run('git lfs push --all origin')
|
|
29
|
+
cmd.run('git push -u origin master')
|
|
30
|
+
end
|
|
31
|
+
|
|
26
32
|
cmd.run('git mv sutty-base-jekyll-theme.gemspec', gemspec)
|
|
33
|
+
cmd.run('make install')
|
|
27
34
|
end
|
|
28
35
|
end
|
|
29
36
|
|
|
30
37
|
private
|
|
31
38
|
|
|
39
|
+
# @return [String]
|
|
32
40
|
def theme_name
|
|
33
|
-
@theme_name ||= name
|
|
41
|
+
@theme_name ||= "#{name}-jekyll-theme"
|
|
34
42
|
end
|
|
35
43
|
|
|
44
|
+
# @return [String]
|
|
36
45
|
def origin
|
|
37
|
-
@origin ||=
|
|
46
|
+
@origin ||= "git@0xacab.org:sutty/jekyll/#{theme_name}.git"
|
|
38
47
|
end
|
|
39
48
|
|
|
49
|
+
# @return [String]
|
|
40
50
|
def gemspec
|
|
41
|
-
@gemspec ||= theme_name
|
|
51
|
+
@gemspec ||= "#{theme_name}.gemspec"
|
|
42
52
|
end
|
|
43
53
|
|
|
54
|
+
# @return [TTY::Command]
|
|
44
55
|
def cmd
|
|
45
56
|
@cmd ||= TTY::Command.new
|
|
46
57
|
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'i18n'
|
|
4
|
+
|
|
5
|
+
locale = ENV['LANG'].split('_', 2).first.to_sym
|
|
6
|
+
locales = Dir["#{File.expand_path(File.join(__dir__, '..', '..', '..', 'config', 'locales'))}/*.yml"]
|
|
7
|
+
|
|
8
|
+
I18n::Backend::Simple.include(I18n::Backend::Memoize)
|
|
9
|
+
I18n.load_path = locales
|
|
10
|
+
I18n.available_locales = locales.map { |l| File.basename(l, '.yml') }.map(&:to_sym)
|
|
11
|
+
I18n.default_locale = :es
|
|
12
|
+
I18n.locale = I18n.available_locales.include?(locale) ? locale : :es
|
data/lib/sutty/cli/version.rb
CHANGED
data/lib/sutty/schema.rb
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'jekyll/utils'
|
|
4
|
+
|
|
5
|
+
module Sutty
|
|
6
|
+
# Genera definiciones de campos para Sutty
|
|
7
|
+
class Schema
|
|
8
|
+
class << self
|
|
9
|
+
ATTRIBUTES = %i[type required private writable inverse filter]
|
|
10
|
+
|
|
11
|
+
# Definición base.
|
|
12
|
+
#
|
|
13
|
+
# Se eliminan los valores que son falsos o están vacíos.
|
|
14
|
+
#
|
|
15
|
+
# @return [Hash]
|
|
16
|
+
def base(**args)
|
|
17
|
+
validate_field_type(args[:type])
|
|
18
|
+
|
|
19
|
+
args.slice(*ATTRIBUTES).transform_keys(&:to_s).reject do |_, v|
|
|
20
|
+
v == false || v.nil?
|
|
21
|
+
end.merge(t(**args))
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def create(type:, **args)
|
|
25
|
+
validate_field_type(type)
|
|
26
|
+
|
|
27
|
+
public_send :"#{type}_field", **args
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Aplica traducciones
|
|
31
|
+
#
|
|
32
|
+
# @param :type [String]
|
|
33
|
+
# @param :name [String]
|
|
34
|
+
# @return [Hash] traducciones
|
|
35
|
+
def t(**args)
|
|
36
|
+
require_relative 'drop_stub'
|
|
37
|
+
|
|
38
|
+
I18n.available_locales.map do |locale|
|
|
39
|
+
I18n.with_locale(locale) do
|
|
40
|
+
%i[name type].map do |translation|
|
|
41
|
+
translation = I18n.t("fields.common_by_#{translation}.#{args[translation]}")
|
|
42
|
+
|
|
43
|
+
next if translation.is_a? String
|
|
44
|
+
|
|
45
|
+
translation
|
|
46
|
+
end.compact.first
|
|
47
|
+
end
|
|
48
|
+
end.compact.reduce({}) do |t, l|
|
|
49
|
+
Jekyll::Utils.deep_merge_hashes(t, l)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Texto de una sola línea
|
|
54
|
+
#
|
|
55
|
+
# @return [Hash]
|
|
56
|
+
def string_field(name:, **args)
|
|
57
|
+
{ name => base(type: 'string', name: name, **args) }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Texto de varias líneas
|
|
61
|
+
#
|
|
62
|
+
# @return [Hash]
|
|
63
|
+
def text_field(name:, **args)
|
|
64
|
+
{ name => base(type: 'text', name: name, **args) }
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Números
|
|
68
|
+
#
|
|
69
|
+
# @return [Hash]
|
|
70
|
+
def number_field(name:, **args)
|
|
71
|
+
{ name => base(type: 'number', name: name, **args) }
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# URL
|
|
75
|
+
#
|
|
76
|
+
# @return [Hash]
|
|
77
|
+
def url_field(name:, **args)
|
|
78
|
+
{ name => base(type: 'url', name: name, **args) }
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# E-mail
|
|
82
|
+
#
|
|
83
|
+
# @return [Hash]
|
|
84
|
+
def email_field(name:, **args)
|
|
85
|
+
{ name => base(type: 'email', name: name, **args) }
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Teléfono
|
|
89
|
+
#
|
|
90
|
+
# @return [Hash]
|
|
91
|
+
def tel_field(name:, **args)
|
|
92
|
+
{ name => base(type: 'tel', name: name, **args) }
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Color
|
|
96
|
+
#
|
|
97
|
+
# @return [Hash]
|
|
98
|
+
def color_field(name:, **args)
|
|
99
|
+
{ name => base(type: 'color', name: name, **args) }
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# SKU
|
|
103
|
+
#
|
|
104
|
+
# @return [Hash]
|
|
105
|
+
def sku_field(name:, **args)
|
|
106
|
+
{ name => base(type: 'sku', name: name, **args) }
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Precio. Los precios se escriben una sola vez.
|
|
110
|
+
#
|
|
111
|
+
# @return [Hash]
|
|
112
|
+
def price_field(name:, **args)
|
|
113
|
+
{ name => base(type: 'price', name: name, writable: 'once', **args) }
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Permalinks
|
|
117
|
+
#
|
|
118
|
+
# @return [Hash]
|
|
119
|
+
def permalink_field(name:, **args)
|
|
120
|
+
{ name => base(type: 'permalink', name: name, **args) }
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# Orden
|
|
124
|
+
#
|
|
125
|
+
# @return [Hash]
|
|
126
|
+
def order_field(name:, **args)
|
|
127
|
+
{ name => base(type: 'order', name: name, **args) }
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Verdadero/falso
|
|
131
|
+
#
|
|
132
|
+
# @return [Hash]
|
|
133
|
+
def boolean_field(name:, **args)
|
|
134
|
+
{ name => base(type: 'boolean', name: name, **args) }
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Contenido
|
|
138
|
+
#
|
|
139
|
+
# @return [Hash]
|
|
140
|
+
def content_field(name:, **args)
|
|
141
|
+
{ name => base(type: 'content', name: name, **args) }
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# HTML
|
|
145
|
+
#
|
|
146
|
+
# @return [Hash]
|
|
147
|
+
def html_field(name:, **args)
|
|
148
|
+
{ name => base(type: 'html', name: name, **args) }
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# Oculto
|
|
152
|
+
#
|
|
153
|
+
# @return [Hash]
|
|
154
|
+
def hidden_field(name:, **args)
|
|
155
|
+
{ name => base(type: 'hidden', name: name, **args) }
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Fecha
|
|
159
|
+
#
|
|
160
|
+
# @return [Hash]
|
|
161
|
+
def date_field(name:, **args)
|
|
162
|
+
{ name => base(type: 'date', name: name, **args) }
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Coordenadas geográficas
|
|
166
|
+
#
|
|
167
|
+
# @return [Hash]
|
|
168
|
+
def geo_field(name:, **args)
|
|
169
|
+
{ name => base(type: 'geo', name: name, **args) }
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Archivo
|
|
173
|
+
#
|
|
174
|
+
# @return [Hash]
|
|
175
|
+
def file_field(name:, **args)
|
|
176
|
+
{ name => base(type: 'file', name: name, **args) }
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Imagen
|
|
180
|
+
#
|
|
181
|
+
# @return [Hash]
|
|
182
|
+
def image_field(name:, **args)
|
|
183
|
+
{ name => base(type: 'image', name: name, **args) }
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# Array
|
|
187
|
+
#
|
|
188
|
+
# @return [Hash]
|
|
189
|
+
def array_field(name:, **args)
|
|
190
|
+
{ name => base(type: 'array', name: name, **args) }
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
# Relacionados sin relación recíproca
|
|
194
|
+
#
|
|
195
|
+
# @return [Hash]
|
|
196
|
+
def related_posts_field(name:, **args)
|
|
197
|
+
{ name => base(type: 'related_posts', name: name, **args) }
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
# Relación de muchos a uno, la relación recíproca es has_many
|
|
201
|
+
#
|
|
202
|
+
# @return [Hash]
|
|
203
|
+
def belongs_to_field(name:, filter:, value:, **args)
|
|
204
|
+
{ name => base(type: 'belongs_to', name: name, filter: { filter => value }, **args) }
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# Relación de uno a muchos, la relación recíproca es belongs_to
|
|
208
|
+
#
|
|
209
|
+
# @return [Hash]
|
|
210
|
+
def has_many_field(name:, filter:, value:, **args)
|
|
211
|
+
{ name => base(type: 'has_many', name: name, filter: { filter => value }, **args) }
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
# Relación de muchos a muchos, la relación recíproca es
|
|
215
|
+
# has_and_belongs_to_many.
|
|
216
|
+
#
|
|
217
|
+
# @return [Hash]
|
|
218
|
+
def has_and_belongs_to_many_field(name:, filter:, value:, **args)
|
|
219
|
+
{ name => base(type: 'has_and_belongs_to_many', name: name, filter: { filter => value }, **args) }
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Los tipos de campos válidos son los que esta clase define como
|
|
223
|
+
# métodos terminados en _field
|
|
224
|
+
#
|
|
225
|
+
# @return [Array]
|
|
226
|
+
def field_types
|
|
227
|
+
@field_types ||= self.public_methods.select do |m|
|
|
228
|
+
m.to_s.end_with? '_field'
|
|
229
|
+
end.map do |m|
|
|
230
|
+
m.to_s.sub(/_field\z/, '').to_sym
|
|
231
|
+
end.sort
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
# Valida si el tipo de campo está definido
|
|
235
|
+
#
|
|
236
|
+
# @param [String,Symbol]
|
|
237
|
+
# @return [Boolean]
|
|
238
|
+
def field_type?(type)
|
|
239
|
+
self.respond_to? :"#{type}_field"
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Devuelve un error si el tipo del campo no es válido
|
|
243
|
+
#
|
|
244
|
+
# @return [Nil]
|
|
245
|
+
def validate_field_type(type)
|
|
246
|
+
raise ArgumentError, "#{type} must be one of #{field_types.map(&:to_s).join(', ')}" unless field_type? type
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sutty-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0rc3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- f
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-08-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tty-command
|
|
@@ -94,6 +94,20 @@ dependencies:
|
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '2.14'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: activesupport
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 6.1.3
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 6.1.3
|
|
97
111
|
- !ruby/object:Gem::Dependency
|
|
98
112
|
name: tty
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,6 +136,34 @@ dependencies:
|
|
|
122
136
|
- - "~>"
|
|
123
137
|
- !ruby/object:Gem::Version
|
|
124
138
|
version: '0'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: minitest
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - "~>"
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '5.14'
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - "~>"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '5.14'
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: rake
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '12.3'
|
|
160
|
+
type: :development
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '12.3'
|
|
125
167
|
description: Tools to develop Sutty's themes and plugins
|
|
126
168
|
email:
|
|
127
169
|
- f@sutty.nl
|
|
@@ -134,6 +176,8 @@ extra_rdoc_files:
|
|
|
134
176
|
files:
|
|
135
177
|
- LICENSE.txt
|
|
136
178
|
- README.md
|
|
179
|
+
- config/locales/en.yml
|
|
180
|
+
- config/locales/es.yml
|
|
137
181
|
- exe/sutty-cli
|
|
138
182
|
- lib/sutty/cli.rb
|
|
139
183
|
- lib/sutty/cli/cli.rb
|
|
@@ -143,32 +187,10 @@ files:
|
|
|
143
187
|
- lib/sutty/cli/commands/layout.rb
|
|
144
188
|
- lib/sutty/cli/commands/post.rb
|
|
145
189
|
- lib/sutty/cli/commands/theme.rb
|
|
146
|
-
- lib/sutty/cli/
|
|
147
|
-
- lib/sutty/cli/templates/field/belongs_to.yml.erb
|
|
148
|
-
- lib/sutty/cli/templates/field/boolean.yml.erb
|
|
149
|
-
- lib/sutty/cli/templates/field/color.yml.erb
|
|
150
|
-
- lib/sutty/cli/templates/field/content.yml.erb
|
|
151
|
-
- lib/sutty/cli/templates/field/date.yml.erb
|
|
152
|
-
- lib/sutty/cli/templates/field/email.yml.erb
|
|
153
|
-
- lib/sutty/cli/templates/field/encrypted_text.yml.erb
|
|
154
|
-
- lib/sutty/cli/templates/field/event.yml.erb
|
|
155
|
-
- lib/sutty/cli/templates/field/file.yml.erb
|
|
156
|
-
- lib/sutty/cli/templates/field/geo.yml.erb
|
|
157
|
-
- lib/sutty/cli/templates/field/has_and_belongs_to_many.yml.erb
|
|
158
|
-
- lib/sutty/cli/templates/field/has_many.yml.erb
|
|
159
|
-
- lib/sutty/cli/templates/field/image.yml.erb
|
|
160
|
-
- lib/sutty/cli/templates/field/locales.yml.erb
|
|
161
|
-
- lib/sutty/cli/templates/field/markdown.yml.erb
|
|
162
|
-
- lib/sutty/cli/templates/field/markdown_content.yml.erb
|
|
163
|
-
- lib/sutty/cli/templates/field/number.yml.erb
|
|
164
|
-
- lib/sutty/cli/templates/field/order.yml.erb
|
|
165
|
-
- lib/sutty/cli/templates/field/predefined_array.yml.erb
|
|
166
|
-
- lib/sutty/cli/templates/field/related_posts.yml.erb
|
|
167
|
-
- lib/sutty/cli/templates/field/string.yml.erb
|
|
168
|
-
- lib/sutty/cli/templates/field/tel.yml.erb
|
|
169
|
-
- lib/sutty/cli/templates/field/text.yml.erb
|
|
170
|
-
- lib/sutty/cli/templates/field/url.yml.erb
|
|
190
|
+
- lib/sutty/cli/i18n.rb
|
|
171
191
|
- lib/sutty/cli/version.rb
|
|
192
|
+
- lib/sutty/drop_stub.rb
|
|
193
|
+
- lib/sutty/schema.rb
|
|
172
194
|
homepage: https://0xacab.org/sutty/sutty-cli
|
|
173
195
|
licenses:
|
|
174
196
|
- MIT
|
|
@@ -196,9 +218,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
196
218
|
version: 2.6.0
|
|
197
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
220
|
requirements:
|
|
199
|
-
- - "
|
|
221
|
+
- - ">"
|
|
200
222
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
223
|
+
version: 1.3.1
|
|
202
224
|
requirements: []
|
|
203
225
|
rubygems_version: 3.1.2
|
|
204
226
|
signing_key:
|