tuga 0.5.1 → 0.6.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: db2314492601f0226cbc4a7709c55eb24a1ad5245a6846caf16c3b2cdeaed53b
4
- data.tar.gz: 778732d911d9f01c85e9a113154e9df0d4ddf9db9de9389d40c89fd49f2205c5
3
+ metadata.gz: 74eb2f8c0c7aaa0db1c977c06f62633fa6afe0cabff2f12d94b63145534905f7
4
+ data.tar.gz: 9a6e15575d943c7e6adc8d8a7a99e298c1459a60780599d91a5ada80c0ccb5e7
5
5
  SHA512:
6
- metadata.gz: 1a917a0c487fe5f6333bb78c290f633ba4b2ccec1c7b610f96ba5d1686f7d031a434a212590940b42f240dff19d4e9dd0f12dc4f0f92b7a7d1725953e8e0864b
7
- data.tar.gz: 3d919cd13473c17426db469bb204a7489c06800513ab6f7b191b97e75d604fed8f3ba1c912b1d260e35c5457135d23a1c78f6bc5b11975d009c3ee871aeb91d5
6
+ metadata.gz: bf5ebf112a856cf888c0bd0fe30db0e71000f9cc64c1b0e637964e69a6d06248695cdb486e308a46ce0d5e310d0481306dee009a40536440fcc2475d452ab0b5
7
+ data.tar.gz: 3656afe97f5e1fdb6b78a1347390f99e8095eaba8aa908cea297d04d71f86a64d7097c2253ab08aa0e28e3f84d39447f73fa4eed25c9a082caaa6a93ddda93d1
@@ -0,0 +1,35 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ name: Ruby ${{ matrix.ruby }}
12
+ strategy:
13
+ matrix:
14
+ ruby:
15
+ - '3.2.2'
16
+
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby }}
23
+ bundler-cache: true
24
+ - name: Audit dependencies
25
+ run: bundle exec rake bundle:audit:check
26
+ - name: Perform static code analysis
27
+ run: bundle exec rubocop
28
+ - name: Test and report the code coverage
29
+ uses: paambaati/codeclimate-action@v5.0.0
30
+ env:
31
+ CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
32
+ with:
33
+ coverageCommand: bundle exec rspec
34
+ - name: Check YARD documentation
35
+ run: bundle exec rake yard:junk
data/.rubocop.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  require: rubocop-rspec
2
2
 
3
3
  AllCops:
4
+ TargetRubyVersion: 3.2
4
5
  DisplayCopNames: true
5
6
  NewCops: disable
6
7
  Exclude:
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.6.10
1
+ ruby 3.2.2
data/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.6.0] - 2023-08-22
8
+ ### Changed
9
+ - Set the minimum Ruby version to `3.2`.
10
+
11
+ ### Updated
12
+ - Updated all the development dependencies
13
+ - Updated `ruby2ruby` and `ruby_parser` to the versions `2.5` and `3.20` respectively
14
+
7
15
  ## [0.5.1] - 2023-08-22
8
16
  ### Changed
9
17
  - Renamed the `master` branch to `main`
@@ -40,6 +48,7 @@ by updating it from `~ 10.0` to `~ 12.3`.
40
48
  - Initial core functionality
41
49
  - Codebase maintenance tools
42
50
 
51
+ [0.6.0]: https://github.com/wilsonsilva/tuga/compare/v0.5.1...v0.6.0
43
52
  [0.5.1]: https://github.com/wilsonsilva/tuga/compare/v0.5.0...v0.5.1
44
53
  [0.5.0]: https://github.com/wilsonsilva/tuga/compare/v0.4.0...v0.5.0
45
54
  [0.4.0]: https://github.com/wilsonsilva/tuga/compare/v0.3.0...v0.4.0
data/README.md CHANGED
@@ -1,17 +1,16 @@
1
1
  # Tuga
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/tuga.svg)](https://badge.fury.io/rb/tuga)
4
- [![Build Status](https://travis-ci.org/wilsonsilva/tuga.svg?branch=main)](https://travis-ci.org/wilsonsilva/tuga)
4
+ [![Build Status](https://github.com/wilsonsilva/tuga/actions/workflows/main.yml/badge.svg)](https://github.com/wilsonsilva/tuga/actions/workflows/main.yml)
5
5
  [![Maintainability](https://api.codeclimate.com/v1/badges/7afec90a09db3956b7dc/maintainability)](https://codeclimate.com/github/wilsonsilva/tuga/maintainability)
6
6
  [![Test Coverage](https://api.codeclimate.com/v1/badges/7afec90a09db3956b7dc/test_coverage)](https://codeclimate.com/github/wilsonsilva/tuga/test_coverage)
7
- [![Security](https://hakiri.io/github/wilsonsilva/tuga/main.svg)](https://hakiri.io/github/wilsonsilva/tuga/main)
8
7
  [![Inline docs](http://inch-ci.org/github/wilsonsilva/tuga.svg?branch=main)](http://inch-ci.org/github/wilsonsilva/tuga)
9
8
 
10
9
  A Portuguese script programming language meant for educational purposes.
11
10
 
12
11
  ## Requirements
13
12
 
14
- The gem requires version 2.6 of the Ruby programming language.
13
+ The gem requires version 3.2 of the Ruby programming language.
15
14
 
16
15
  ## Installation
17
16
 
@@ -66,9 +65,18 @@ The health and maintainability of the codebase is ensured through a set of
66
65
  Rake tasks to test, lint and audit the gem for security vulnerabilities and documentation:
67
66
 
68
67
  ```
69
- rake bundle:audit # Checks for vulnerable versions of gems
68
+ rake build # Build tuga-x.x.x.gem into the pkg directory
69
+ rake build:checksum # Generate SHA512 checksum if tuga-0.x.x.gem into the checksums directory
70
+ rake bundle:audit:check # Checks the Gemfile.lock for insecure dependencies
71
+ rake bundle:audit:update # Updates the bundler-audit vulnerability database
72
+ rake clean # Remove any temporary products
73
+ rake clobber # Remove any generated files
74
+ rake coverage # Run spec with coverage
75
+ rake install # Build and install tuga-x.x.x.gem into system gems
76
+ rake install:local # Build and install tuga-x.x.x.gem into system gems without network access
70
77
  rake qa # Test, lint and perform security and documentation audits
71
- rake rubocop # Lint the codebase with RuboCop
78
+ rake release[remote] # Create tag vx.x.x and build and push tuga-x.x.x.gem to rubygems.org
79
+ rake rubocop # Run RuboCop
72
80
  rake rubocop:auto_correct # Auto-correct RuboCop offenses
73
81
  rake spec # Run RSpec code examples
74
82
  rake verify_measurements # Verify that yardstick coverage is at least 100%
data/bin/tuga CHANGED
@@ -14,8 +14,8 @@ else
14
14
  ARGV.each do |file_path|
15
15
  next unless file_path
16
16
 
17
- unless Gem::Requirement.new('~> 2.6.0').satisfied_by?(Gem::Version.new(RUBY_VERSION))
18
- raise 'O requisito mínimo para executar é Ruby 2.6'
17
+ unless Gem::Requirement.new('~> 3.2.0').satisfied_by?(Gem::Version.new(RUBY_VERSION))
18
+ raise 'O requisito mínimo para executar é Ruby 3.2'
19
19
  end
20
20
 
21
21
  transpiler = Tuga::Transpiler.new
@@ -14,7 +14,7 @@ module Tuga
14
14
  CORE_EXTENSIONS = "require \"tuga/core_ext\"\n"
15
15
 
16
16
  # Every transpilled program will be encoded
17
- INITIAL_CODE = "#{ENCODING}#{CORE_EXTENSIONS}"
17
+ INITIAL_CODE = "#{ENCODING}#{CORE_EXTENSIONS}".freeze
18
18
 
19
19
  def initialize
20
20
  @ruby_2_ruby = Ruby2Ruby.new
data/lib/tuga/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tuga
2
- VERSION = '0.5.1'.freeze
2
+ VERSION = '0.6.0'.freeze
3
3
  end
data/tuga.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.description = 'A Portuguese script programming language meant for educational purposes.'
11
11
  spec.homepage = 'https://github.com/wilsonsilva/tuga'
12
12
  spec.license = 'MIT'
13
- spec.required_ruby_version = Gem::Requirement.new('~> 2.6.0')
13
+ spec.required_ruby_version = Gem::Requirement.new('~> 3.2.0')
14
14
 
15
15
  spec.metadata['homepage_uri'] = spec.homepage
16
16
  spec.metadata['source_code_uri'] = 'https://github.com/wilsonsilva/tuga'
@@ -26,26 +26,26 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ['lib']
28
28
 
29
- # These versions of the parsers and transpilers are compatible with Ruby 2.6. Recent versions are not.
30
- spec.add_dependency 'ruby2ruby', '= 2.4.4'
31
- spec.add_dependency 'ruby_parser', '= 3.14.2'
29
+ # These versions of the parsers and transpilers are compatible with Ruby 3.2
30
+ spec.add_dependency 'ruby2ruby', '~> 2.5'
31
+ spec.add_dependency 'ruby_parser', '~> 3.20'
32
32
 
33
33
  spec.add_development_dependency 'bundler', '~> 2.0'
34
- spec.add_development_dependency 'bundler-audit', '~> 0.6'
35
- spec.add_development_dependency 'guard', '~> 2.16'
34
+ spec.add_development_dependency 'bundler-audit', '~> 0.9'
35
+ spec.add_development_dependency 'guard', '~> 2.18'
36
36
  spec.add_development_dependency 'guard-bundler', '~> 3.0'
37
37
  spec.add_development_dependency 'guard-bundler-audit', '~> 0.1'
38
38
  spec.add_development_dependency 'guard-rspec', '~> 4.7'
39
- spec.add_development_dependency 'guard-rubocop', '~> 1.3'
40
- spec.add_development_dependency 'overcommit', '~> 0.53'
41
- spec.add_development_dependency 'pry', '~> 0.13'
42
- spec.add_development_dependency 'rake', '~> 12.3'
43
- spec.add_development_dependency 'rspec', '~> 3.0'
44
- spec.add_development_dependency 'rubocop', '~> 0.85'
45
- spec.add_development_dependency 'rubocop-rspec', '~> 1.39'
39
+ spec.add_development_dependency 'guard-rubocop', '~> 1.5'
40
+ spec.add_development_dependency 'overcommit', '~> 0.60'
41
+ spec.add_development_dependency 'pry', '~> 0.14'
42
+ spec.add_development_dependency 'rake', '~> 13.0'
43
+ spec.add_development_dependency 'rspec', '~> 3.12'
44
+ spec.add_development_dependency 'rubocop', '~> 1.56.1'
45
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.23'
46
46
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
47
- spec.add_development_dependency 'simplecov-console', '~> 0.7'
47
+ spec.add_development_dependency 'simplecov-console', '~> 0.9'
48
48
  spec.add_development_dependency 'yard', '~> 0.9'
49
- spec.add_development_dependency 'yard-junk', '~> 0.0.7'
49
+ spec.add_development_dependency 'yard-junk', '~> 0.0.9'
50
50
  spec.add_development_dependency 'yardstick', '~> 0.9'
51
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tuga
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wilson Silva
@@ -14,30 +14,30 @@ dependencies:
14
14
  name: ruby2ruby
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.4.4
19
+ version: '2.5'
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.4
26
+ version: '2.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ruby_parser
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.14.2
33
+ version: '3.20'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.14.2
40
+ version: '3.20'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.6'
61
+ version: '0.9'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.6'
68
+ version: '0.9'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.16'
75
+ version: '2.18'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.16'
82
+ version: '2.18'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: guard-bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -128,98 +128,98 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '1.3'
131
+ version: '1.5'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '1.3'
138
+ version: '1.5'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: overcommit
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.53'
145
+ version: '0.60'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.53'
152
+ version: '0.60'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0.13'
159
+ version: '0.14'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '0.13'
166
+ version: '0.14'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rake
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '12.3'
173
+ version: '13.0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '12.3'
180
+ version: '13.0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rspec
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '3.0'
187
+ version: '3.12'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '3.0'
194
+ version: '3.12'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rubocop
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '0.85'
201
+ version: 1.56.1
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '0.85'
208
+ version: 1.56.1
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: rubocop-rspec
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '1.39'
215
+ version: '2.23'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '1.39'
222
+ version: '2.23'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: simplecov
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -240,14 +240,14 @@ dependencies:
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: '0.7'
243
+ version: '0.9'
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - "~>"
249
249
  - !ruby/object:Gem::Version
250
- version: '0.7'
250
+ version: '0.9'
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: yard
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -268,14 +268,14 @@ dependencies:
268
268
  requirements:
269
269
  - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: 0.0.7
271
+ version: 0.0.9
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: 0.0.7
278
+ version: 0.0.9
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: yardstick
281
281
  requirement: !ruby/object:Gem::Requirement
@@ -301,12 +301,12 @@ extensions: []
301
301
  extra_rdoc_files: []
302
302
  files:
303
303
  - ".editorconfig"
304
+ - ".github/workflows/main.yml"
304
305
  - ".gitignore"
305
306
  - ".overcommit.yml"
306
307
  - ".rspec"
307
308
  - ".rubocop.yml"
308
309
  - ".tool-versions"
309
- - ".travis.yml"
310
310
  - ".yardopts"
311
311
  - ".yardstick.yml"
312
312
  - CHANGELOG.md
@@ -348,14 +348,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
348
348
  requirements:
349
349
  - - "~>"
350
350
  - !ruby/object:Gem::Version
351
- version: 2.6.0
351
+ version: 3.2.0
352
352
  required_rubygems_version: !ruby/object:Gem::Requirement
353
353
  requirements:
354
354
  - - ">="
355
355
  - !ruby/object:Gem::Version
356
356
  version: '0'
357
357
  requirements: []
358
- rubygems_version: 3.0.3.1
358
+ rubygems_version: 3.4.19
359
359
  signing_key:
360
360
  specification_version: 4
361
361
  summary: A Portuguese script programming language.
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.6.10
6
- before_install: gem install bundler -v 2.1.4
7
-
8
- before_script:
9
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
10
- - chmod +x ./cc-test-reporter
11
- - ./cc-test-reporter before-build
12
-
13
- script:
14
- - bundle exec bundle-audit
15
- - bundle exec rspec
16
- - bundle exec rubocop
17
- - bundle exec rake yard:junk
18
-
19
- after_script:
20
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT