at_coder_friends-generator-python_ref 0.3.2 → 0.4.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: 45f6fd099c746e4e5e4912c4cac72e839cd49985aff42f560d833f13aa8daf96
4
- data.tar.gz: 5b3fb579bfc0ac86800cc20b99b75e2505015ce4d98cc0c8908ff6fe2dbcd1f3
3
+ metadata.gz: 2a804a55d43573bd91ea0b11c9d4df5a170109874d24a7107e72c948b839343e
4
+ data.tar.gz: 3ad6eeac429650c1e7770a14181009fd39acfdc1be6cc4ee47a99f2733a608dc
5
5
  SHA512:
6
- metadata.gz: 0f142ec1d52f7ceacf31096cd4535f85b1b780f9ef4d4752f742e907344743219277e1f8082488f9a806ab731f34a82d7c2e2c8655a9c1df5fb40b1dd7ddbc82
7
- data.tar.gz: d38828116e05577842dffbd5e28648106f1af62649b91e447d977966fda2ea09db6bb5db3114fb7383b7a3374a3629e1409e9fe13be72ba059a58b9ec6674a5e
6
+ metadata.gz: 7245a02695fe12bcecdd52507c40e34a8152fb8bc63eed16fe586180166b44df3a6d2a6ac7ca05d8b914cdd893995d58b2223828e20769b94e8f43453f5f6285
7
+ data.tar.gz: 9dffdfff8fa54abcb58f9e58d91c7e55d90b7da1893098cd7051f3bea8d09e67b8aa58f7d08ac990061dcc8694cb48c374dfaf08f126d4263b686f68adc44049
@@ -19,7 +19,7 @@ jobs:
19
19
  runs-on: ubuntu-latest
20
20
  strategy:
21
21
  matrix:
22
- ruby-version: ['2.5', '2.7']
22
+ ruby-version: ['2.7', '3.0', '3.2']
23
23
 
24
24
  steps:
25
25
  - uses: actions/checkout@v2
data/.gitignore CHANGED
@@ -12,3 +12,6 @@
12
12
 
13
13
  # rvm
14
14
  .ruby-version
15
+
16
+ # Visual Studio Code local settings
17
+ .vscode/
data/.rubocop.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.5
4
+ TargetRubyVersion: 2.7
5
5
  NewCops: enable
6
6
 
7
7
  Metrics/BlockLength:
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 0.4.0 (2023/05/12)
6
+ ### Added
7
+ - add Ruby3.2 to target version.
8
+ ### Changed
9
+ - externalize code fragments to YAML
10
+ ### Deleted
11
+ - drop Ruby2.5 from target version.
12
+
5
13
  ## 0.3.2 (2021/12/25)
6
14
  ### Deleted
7
15
  - drop Ruby2.4 from target version.
data/Gemfile.lock CHANGED
@@ -1,29 +1,29 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- at_coder_friends-generator-python_ref (0.3.2)
5
- at_coder_friends (~> 0.6.8)
4
+ at_coder_friends-generator-python_ref (0.4.0)
5
+ at_coder_friends (~> 0.7.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- addressable (2.8.0)
11
- public_suffix (>= 2.0.2, < 5.0)
12
- at_coder_friends (0.6.8)
10
+ addressable (2.8.4)
11
+ public_suffix (>= 2.0.2, < 6.0)
12
+ at_coder_friends (0.7.0)
13
13
  colorize (~> 0.8.1)
14
14
  launchy (>= 2.4.3)
15
15
  mechanize (~> 2.0)
16
16
  colorize (0.8.1)
17
- connection_pool (2.2.5)
17
+ connection_pool (2.4.0)
18
18
  diff-lcs (1.5.0)
19
19
  docile (1.4.0)
20
20
  domain_name (0.5.20190701)
21
21
  unf (>= 0.0.5, < 1.0.0)
22
- http-cookie (1.0.4)
22
+ http-cookie (1.0.5)
23
23
  domain_name (~> 0.5)
24
- launchy (2.5.0)
25
- addressable (~> 2.7)
26
- mechanize (2.8.3)
24
+ launchy (2.5.2)
25
+ addressable (~> 2.8)
26
+ mechanize (2.9.1)
27
27
  addressable (~> 2.8)
28
28
  domain_name (~> 0.5, >= 0.5.20190701)
29
29
  http-cookie (~> 1.0, >= 1.0.3)
@@ -36,49 +36,46 @@ GEM
36
36
  webrobots (~> 0.1.2)
37
37
  mime-types (3.4.1)
38
38
  mime-types-data (~> 3.2015)
39
- mime-types-data (3.2021.1115)
40
- mini_portile2 (2.6.1)
39
+ mime-types-data (3.2023.0218.1)
41
40
  net-http-digest_auth (1.4.1)
42
- net-http-persistent (4.0.1)
41
+ net-http-persistent (4.0.2)
43
42
  connection_pool (~> 2.2)
44
- nokogiri (1.12.5)
45
- mini_portile2 (~> 2.6.1)
43
+ nokogiri (1.14.3-arm64-darwin)
46
44
  racc (~> 1.4)
47
- nokogiri (1.12.5-x64-mingw32)
45
+ nokogiri (1.14.3-x86_64-linux)
48
46
  racc (~> 1.4)
49
- public_suffix (4.0.6)
50
- racc (1.6.0)
47
+ public_suffix (5.0.1)
48
+ racc (1.6.2)
51
49
  rake (13.0.6)
52
- rspec (3.10.0)
53
- rspec-core (~> 3.10.0)
54
- rspec-expectations (~> 3.10.0)
55
- rspec-mocks (~> 3.10.0)
56
- rspec-core (3.10.1)
57
- rspec-support (~> 3.10.0)
58
- rspec-expectations (3.10.1)
50
+ rspec (3.12.0)
51
+ rspec-core (~> 3.12.0)
52
+ rspec-expectations (~> 3.12.0)
53
+ rspec-mocks (~> 3.12.0)
54
+ rspec-core (3.12.2)
55
+ rspec-support (~> 3.12.0)
56
+ rspec-expectations (3.12.3)
59
57
  diff-lcs (>= 1.2.0, < 2.0)
60
- rspec-support (~> 3.10.0)
61
- rspec-mocks (3.10.2)
58
+ rspec-support (~> 3.12.0)
59
+ rspec-mocks (3.12.5)
62
60
  diff-lcs (>= 1.2.0, < 2.0)
63
- rspec-support (~> 3.10.0)
64
- rspec-support (3.10.3)
61
+ rspec-support (~> 3.12.0)
62
+ rspec-support (3.12.0)
65
63
  rubyntlm (0.6.3)
66
- simplecov (0.21.2)
64
+ simplecov (0.22.0)
67
65
  docile (~> 1.1)
68
66
  simplecov-html (~> 0.11)
69
67
  simplecov_json_formatter (~> 0.1)
70
68
  simplecov-html (0.12.3)
71
- simplecov_json_formatter (0.1.3)
69
+ simplecov_json_formatter (0.1.4)
72
70
  unf (0.1.4)
73
71
  unf_ext
74
- unf_ext (0.0.8)
75
- unf_ext (0.0.8-x64-mingw32)
76
- webrick (1.7.0)
72
+ unf_ext (0.0.8.2)
73
+ webrick (1.8.1)
77
74
  webrobots (0.1.2)
78
75
 
79
76
  PLATFORMS
80
- ruby
81
- x64-mingw32
77
+ arm64-darwin-20
78
+ x86_64-linux
82
79
 
83
80
  DEPENDENCIES
84
81
  at_coder_friends-generator-python_ref!
@@ -88,4 +85,4 @@ DEPENDENCIES
88
85
  simplecov (~> 0.10)
89
86
 
90
87
  BUNDLED WITH
91
- 2.1.4
88
+ 2.4.12
data/README.md CHANGED
@@ -27,24 +27,26 @@ Or install it yourself as:
27
27
 
28
28
  ## Configuration
29
29
 
30
- Add ```PythonRef``` to ```generators``` setting in ```.at_coder_friends.yml```
30
+ Add `PythonRef` to `generators` setting in `.at_coder_friends.yml`
31
31
 
32
32
  ## Generator Options
33
33
 
34
34
  Following options are available
35
- in ```generator_settings/PythonRef``` section of ```.at_coder_friends.yml```:
35
+ in `generator_settings/PythonRef` section of `.at_coder_friends.yml`:
36
36
 
37
- | Option | Description | Default |
38
- |---------|-------------|---------|
39
- |default_template|Source template file path|[/templates/python_ref.py.erb](/templates/python_ref.py.erb)|
37
+ | Option | Description | Default |
38
+ | -------- | -------------- | ------- |
39
+ | file_ext | File extension | py |
40
+ | template<br>(formerly default_template) | Code template file path | [python_ref.py.erb](/templates/python_ref.py.erb) |
41
+ | fragments | Code fragments file path | [python_ref_fragments.yml](/templates/python_ref_fragments.yml) |
40
42
 
41
- ## ```.at_coder_friends.yml``` example for Python
43
+ ## `.at_coder_friends.yml` example for Python
42
44
  ```YAML
43
45
  generators:
44
46
  - PythonRef
45
47
  generator_settings:
46
48
  PythonRef:
47
- default_template: /path/to/template
49
+ template: /path/to/template
48
50
  ext_settings:
49
51
  'py':
50
52
  test_cmd:
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ['lib']
30
30
 
31
- spec.required_ruby_version = '>= 2.5.0'
31
+ spec.required_ruby_version = '>= 2.7.0'
32
32
 
33
33
  spec.metadata = {
34
34
  'homepage_uri' => spec.homepage,
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
  'rubygems_mfa_required' => 'true'
38
38
  }
39
39
 
40
- spec.add_dependency 'at_coder_friends', '~> 0.6.8'
40
+ spec.add_dependency 'at_coder_friends', '~> 0.7.0'
41
41
 
42
42
  spec.add_development_dependency 'bundler', '~> 2.0'
43
43
  spec.add_development_dependency 'rake', '~> 13.0'
@@ -3,7 +3,7 @@
3
3
  module AtCoderFriends
4
4
  module Generator
5
5
  module PythonRefConstants
6
- VERSION = '0.3.2'
6
+ VERSION = '0.4.0'
7
7
  end
8
8
  end
9
9
  end
@@ -5,183 +5,34 @@ require 'at_coder_friends/generator/python_ref/version'
5
5
 
6
6
  module AtCoderFriends
7
7
  module Generator
8
+ # Python variable declaration generator
9
+
8
10
  # generates Python source from problem description
9
11
  class PythonRef < Base
10
12
  include PythonRefConstants
13
+ include ConstFragmentMixin
14
+ include DeclFragmentMixin
11
15
 
12
16
  ACF_HOME = File.realpath(File.join(__dir__, '..', '..', '..'))
13
17
  TMPL_DIR = File.join(ACF_HOME, 'templates')
14
- DEFAULT_TMPL = File.join(TMPL_DIR, 'python_ref.py.erb')
15
- ATTRS = Attributes.new(:py, DEFAULT_TMPL)
18
+ TEMPLATE = File.join(TMPL_DIR, 'python_ref.py.erb')
19
+ FRAGMENTS = File.realpath(File.join(TMPL_DIR, 'python_ref_fragments.yml'))
20
+ ATTRS = Attributes.new(:py, TEMPLATE, FRAGMENTS)
16
21
 
17
22
  def attrs
18
23
  ATTRS
19
24
  end
20
25
 
21
- def render(src)
22
- src = embed_lines(src, '### CONSTS ###', gen_consts)
23
- embed_lines(src, '### DCLS ###', gen_decls)
24
- end
25
-
26
- def gen_consts(constants = pbm.constants)
27
- constants
26
+ def gen_consts
27
+ pbm.constants
28
28
  .select { |c| c.type == :mod }
29
- .map { |c| gen_mod(c) }
30
- end
31
-
32
- def gen_mod(c)
33
- v = c.value.gsub('^', '**').gsub(',', '_')
34
- "MOD = #{v}"
35
- end
36
-
37
- def gen_decls(inpdefs = pbm.formats)
38
- inpdefs.map { |inpdef| gen_decl(inpdef) }.flatten
29
+ .map { |c| gen_const(c) }
39
30
  end
40
31
 
41
- def gen_decl(inpdef)
42
- case inpdef.container
43
- when :single
44
- gen_single_decl(inpdef)
45
- when :harray
46
- gen_harray_decl(inpdef)
47
- when :varray
48
- gen_varray_decl(inpdef)
49
- when :matrix
50
- gen_matrix_decl(inpdef)
51
- when :varray_matrix, :matrix_varray
52
- gen_cmb_decl(inpdef)
53
- when :vmatrix
54
- gen_vmatrix_decl(inpdef)
55
- when :hmatrix
56
- gen_hmatrix_decl(inpdef)
57
- end
58
- end
59
-
60
- def gen_single_decl(inpdef)
61
- names = inpdef.names
62
- dcl = names.join(', ')
63
- expr = gen_expr(inpdef, names.size > 1)
64
- "#{dcl} = #{expr}"
65
- end
66
-
67
- def gen_harray_decl(inpdef)
68
- v = inpdef.names[0]
69
- dcl = "#{v}s"
70
- expr = gen_expr(inpdef, true)
71
- "#{dcl} = #{expr}"
72
- end
73
-
74
- def gen_varray_decl(inpdef)
75
- if inpdef.names.size == 1
76
- gen_varray_1_decl(inpdef)
77
- else
78
- gen_varray_n_decl(inpdef)
79
- end
80
- end
81
-
82
- def gen_varray_1_decl(inpdef)
83
- v = inpdef.names[0]
84
- sz = inpdef.size[0]
85
- dcl = "#{v}s"
86
- expr = gen_expr(inpdef, false)
87
- "#{dcl} = [#{expr} for _ in range(#{sz})]"
88
- end
89
-
90
- def gen_varray_n_decl(inpdef)
91
- names = inpdef.names
92
- sz = inpdef.size[0]
93
- dcl = names.map { |v| "#{v}s[i]" }.join(', ')
94
- expr = gen_expr(inpdef, true)
95
- ret = []
96
- ret += names.map { |v| "#{v}s = [None for _ in range(#{sz})]" }
97
- ret << "for i in range(#{sz}):"
98
- ret << " #{dcl} = #{expr}"
99
- ret
100
- end
101
-
102
- def gen_matrix_decl(inpdef)
103
- v = inpdef.names[0]
104
- sz = inpdef.size[0]
105
- decl = "#{v}ss"
106
- expr = gen_expr(inpdef, true)
107
- "#{decl} = [#{expr} for _ in range(#{sz})]"
108
- end
109
-
110
- def gen_cmb_decl(inpdef)
111
- mx = inpdef.container == :varray_matrix ? -1 : 0
112
- vs = inpdef.names.map { |v| "#{v}s" }
113
- vs[mx] += 's'
114
- sz = inpdef.size[0]
115
- dcls = vs.map { |v| "#{v}[i]" }
116
- dcls[mx] = "*#{dcls[mx]}" unless inpdef.item == :char
117
- dcl = dcls.join(', ')
118
- expr = gen_cmb_expr(inpdef)
119
- ret = []
120
- ret += vs.map { |v| "#{v} = [None for _ in range(#{sz})]" }
121
- ret << "for i in range(#{sz}):"
122
- ret << " #{dcl} = #{expr}"
123
- ret
124
- end
125
-
126
- def gen_vmatrix_decl(inpdef)
127
- names = inpdef.names
128
- sz1, sz2 = inpdef.size
129
- dcl = names.map { |v| "#{v}ss[i][j]" }.join(', ')
130
- expr = gen_expr(inpdef, true)
131
- ret = []
132
- ret += names.map do |v|
133
- "#{v}ss = [[None for _ in range(#{sz2})] for _ in range(#{sz1})]"
134
- end
135
- ret << "for i in range(#{sz1}):"
136
- ret << " for j in range(#{sz2}):"
137
- ret << " #{dcl} = #{expr}"
138
- ret
139
- end
140
-
141
- def gen_hmatrix_decl(inpdef)
142
- names = inpdef.names
143
- sz = inpdef.size[0]
144
- dcls = names.map { |v| "#{v}ss[i]" }
145
- expr = gen_expr(inpdef, true)
146
- ret = []
147
- ret += names.map { |v| "#{v}ss = [None for _ in range(#{sz})]" }
148
- ret << "for i in range(#{sz}):"
149
- ret << " line = #{expr}"
150
- ret += dcls.map.with_index do |dcl, i|
151
- " #{dcl} = line[#{i}::#{dcls.size}]"
152
- end
153
- ret
154
- end
155
-
156
- def gen_expr(inpdef, split)
157
- read = gen_read(inpdef.delim)
158
- case inpdef.item
159
- when :number
160
- split ? "list(map(int, #{read}.split()))" : "int(#{read})"
161
- when :decimal
162
- split ? "list(map(float, #{read}.split()))" : "float(#{read})"
163
- when :string
164
- split ? "#{read}.split()" : read
165
- when :char
166
- read
167
- end
168
- end
169
-
170
- def gen_cmb_expr(inpdef)
171
- read = gen_read(inpdef.delim)
172
- case inpdef.item
173
- when :number
174
- "list(map(int, #{read}.split()))"
175
- when :decimal
176
- "list(map(float, #{read}.split()))"
177
- when :string, :char
178
- "#{read}.split()"
179
- end
180
- end
181
-
182
- def gen_read(delim)
183
- sub = delim.chars.map { |d| ".replace('#{d}', ' ')" }.join
184
- "input()#{sub}"
32
+ # deprecated, use ERB syntax
33
+ def render(src)
34
+ src = embed_lines(src, '### CONSTS ###', gen_consts)
35
+ embed_lines(src, '### DCLS ###', gen_decls)
185
36
  end
186
37
  end
187
38
  end
@@ -0,0 +1,90 @@
1
+ constant:
2
+ value_print: <%= value.gsub('^', '**').gsub(',', '_') %>
3
+ mod: MOD = <%= value_print %>
4
+ declaration:
5
+ read: input()<% delims.each do |d| %>.replace('<%= d %>', ' ')<% end %>
6
+ multiplicity: |
7
+ <%
8
+ case container
9
+ when :single, :varray
10
+ if vs.size > 1 && item != :char
11
+ %>multi<%
12
+ else
13
+ %>single<%
14
+ end
15
+ when :harray, :matrix
16
+ if item != :char
17
+ %>multi<%
18
+ else
19
+ %>single<%
20
+ end
21
+ else
22
+ %>multi<%
23
+ end
24
+ -%>
25
+ input:
26
+ __key: [item, multiplicity]
27
+ number:
28
+ single: int(<%= read %>)
29
+ multi: list(map(int, <%= read %>.split()))
30
+ decimal:
31
+ single: float(<%= read %>)
32
+ multi: list(map(float, <%= read %>.split()))
33
+ string:
34
+ single: <%= read %>
35
+ multi: <%= read %>.split()
36
+ char:
37
+ single: <%= read %>
38
+ multi: <%= read %>.split()
39
+ decl_type: |
40
+ <%
41
+ case container
42
+ when :varray
43
+ if vs.size > 1 %>varray_n<% else %>varray_1<% end
44
+ else
45
+ %><%= container.to_s %><%
46
+ end
47
+ -%>
48
+ splat: <% unless item == :char %>*<% end %>
49
+ main:
50
+ __key: [decl_type]
51
+ single: <%= vs.join(', ') %> = <%= input %>
52
+ harray: <%= v %>s = <%= input %>
53
+ varray_1: <%= v %>s = [<%= input %> for _ in range(<%= sz %>)]
54
+ varray_n: |
55
+ <% vs.each do |v| -%>
56
+ <%= v %>s = [None for _ in range(<%= sz %>)]
57
+ <% end -%>
58
+ for i in range(<%= sz %>):
59
+ <%= vs.map { |v| "#{v}s[i]" }.join(', ') %> = <%= input %>
60
+ matrix: <%= v %>ss = [<%= input %> for _ in range(<%= sz %>)]
61
+ varray_matrix: |
62
+ <% vs[0..-2].each do |v| -%>
63
+ <%= v %>s = [None for _ in range(<%= sz %>)]
64
+ <% end -%>
65
+ <%= vs[-1] %>ss = [None for _ in range(<%= sz %>)]
66
+ for i in range(<%= sz %>):
67
+ <%= vs[0..-2].map { |v| "#{v}s[i]" }.join(', ') %>, <%= splat %><%= vs[-1] %>ss[i] = <%= input %>
68
+ matrix_varray: |
69
+ <%= vs[0] %>ss = [None for _ in range(<%= sz %>)]
70
+ <% vs[1..].each do |v| -%>
71
+ <%= v %>s = [None for _ in range(<%= sz %>)]
72
+ <% end -%>
73
+ for i in range(<%= sz %>):
74
+ <%= splat %><%= vs[0] %>ss[i], <%= vs[1..].map { |v| "#{v}s[i]" }.join(', ') %> = <%= input %>
75
+ vmatrix: |
76
+ <% vs.each do |v| -%>
77
+ <%= v %>ss = [[None for _ in range(<%= sz2 %>)] for _ in range(<%= sz1 %>)]
78
+ <% end -%>
79
+ for i in range(<%= sz1 %>):
80
+ for j in range(<%= sz2 %>):
81
+ <%= vs.map { |v| "#{v}ss[i][j]" }.join(', ') %> = <%= input %>
82
+ hmatrix: |
83
+ <% vs.each do |v| -%>
84
+ <%= v %>ss = [None for _ in range(<%= sz %>)]
85
+ <% end -%>
86
+ for i in range(<%= sz %>):
87
+ line = <%= input %>
88
+ <% vs.each_with_index do |v, k| -%>
89
+ <%= v %>ss[i] = line[<%= k %>::<%= vs.size %>]
90
+ <% end -%>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: at_coder_friends-generator-python_ref
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nejiko96
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-24 00:00:00.000000000 Z
11
+ date: 2023-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: at_coder_friends
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.6.8
19
+ version: 0.7.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: 0.6.8
26
+ version: 0.7.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +94,6 @@ files:
94
94
  - ".rspec"
95
95
  - ".rubocop.yml"
96
96
  - ".rubocop_todo.yml"
97
- - ".travis.yml"
98
97
  - CHANGELOG.md
99
98
  - CODE_OF_CONDUCT.md
100
99
  - Gemfile
@@ -108,6 +107,7 @@ files:
108
107
  - lib/at_coder_friends/generator/python_ref.rb
109
108
  - lib/at_coder_friends/generator/python_ref/version.rb
110
109
  - templates/python_ref.py.erb
110
+ - templates/python_ref_fragments.yml
111
111
  homepage: https://github.com/nejiko96/at_coder_friends-generator-python_ref
112
112
  licenses:
113
113
  - MIT
@@ -124,14 +124,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
- version: 2.5.0
127
+ version: 2.7.0
128
128
  required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  requirements: []
134
- rubygems_version: 3.1.6
134
+ rubygems_version: 3.4.12
135
135
  signing_key:
136
136
  specification_version: 4
137
137
  summary: Python generator for AtCoderFriends
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.4
7
- before_install: gem install bundler -v 2.0.2