scipio 0.6.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.
@@ -0,0 +1,33 @@
1
+ # <%= gem_name.capitalize %>
2
+
3
+ ...
4
+
5
+ ## Installation
6
+
7
+ ...
8
+
9
+ ## Usage
10
+
11
+ ...
12
+
13
+ ## Status
14
+
15
+ ... in Python terms.
16
+
17
+ (Those Python statuses are 1 - Planning, 2 - Pre-alpha, 3 - Alpha, 4 - Beta, 5 - Production/Stable, 6 - Mature, 7 - Inactive.)
18
+
19
+ ## Development
20
+
21
+ After checking out the repo, run `bundle install` to install dependencies. Then, run `rake test` to run the tests.
22
+
23
+ To install this gem locally, run `bundle exec rake local`.
24
+
25
+ `bundle exec rake -T` to see the current options.
26
+
27
+ ## Contributing
28
+
29
+ Bug reports and pull requests are welcome at <%= git_site %>/<%= gem_name %>. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](<%= git_site %>/<%= gem_name %>/src/branch/main/CODE_OF_CONDUCT.md).
30
+
31
+ ## Code of Conduct
32
+
33
+ Everyone interacting in the <%= gem_name.capitalize %> project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](<%= git_site %>/<%= gem_name %>/src/branch/main/CODE_OF_CONDUCT.md).
data/template/Rakefile ADDED
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "digest/sha2"
4
+ require "minitest/test_task"
5
+ require "reek/rake/task"
6
+ require "standard/rake"
7
+
8
+ require_relative "lib/<%= gem_name %>/version"
9
+
10
+ Minitest::TestTask.create
11
+
12
+ namespace :build do
13
+ def check
14
+ built_gem_path = "pkg/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem"
15
+ checksum = Digest::SHA512.new.hexdigest(File.read(built_gem_path))
16
+ checksum_path = "./checksums/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem.sha512"
17
+ FileUtils.rm(Dir.glob("./checksums/*"))
18
+ File.write(checksum_path, checksum)
19
+ end
20
+
21
+ def signed_build
22
+ ENV["UNSIGNED_BUILD"] = "false"
23
+ sh "bundle exec gem build <%= gem_name %>.gemspec --output=./pkg/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem"
24
+ end
25
+
26
+ desc "Unsigned build & local install, update the repo's checksum"
27
+ task :local do
28
+ ENV["UNSIGNED_BUILD"] = "true"
29
+ sh "bundle exec gem build <%= gem_name %>.gemspec --output=./pkg/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem"
30
+ sh "bundle exec gem install ./pkg/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem -P MediumSecurity"
31
+ check
32
+ end
33
+
34
+ desc "Signed build & local install"
35
+ task :local_sy do
36
+ signed_build
37
+ check
38
+ sh "bundle exec gem install ./pkg/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem -P HighSecurity"
39
+ end
40
+
41
+ desc "Publish it - this will build & sign, then commit, push and publish"
42
+ task :publish do
43
+ # signed build & checksum update
44
+ signed_build
45
+ check
46
+ # tag git repo
47
+ sh "git add ."
48
+ sh "git commit -m \"v#{<%= gem_name.capitalize %>::VERSION}\""
49
+ sh "git tag -s v#{<%= gem_name.capitalize %>::VERSION} -m \"v#{<%= gem_name.capitalize %>::VERSION}\""
50
+ sh "git push origin \"v#{<%= gem_name.capitalize %>::VERSION}\""
51
+ sh "git push"
52
+ # publish to rubygems, will require OTP
53
+ sh "gem push ./pkg/<%= gem_name %>-#{<%= gem_name.capitalize %>::VERSION}.gem"
54
+ end
55
+ end
56
+
57
+ Reek::Rake::Task.new do |t|
58
+ t.fail_on_error = false
59
+ end
60
+
61
+ task default: %i[standard:fix reek]
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
5
+
6
+ require 'bundler/setup'
7
+ require '<%= gem_name %>/cli'
8
+
9
+ <%= gem_name.capitalize %>::CLI.new.start
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require '<%= gem_name %>'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require 'irb'
15
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
File without changes
File without changes
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "optparse"
4
+
5
+ module <%= gem_name.capitalize %>
6
+ # CLI handled by optparse
7
+ class CLI
8
+ def start(*_args)
9
+ OptionParser.new do |opts|
10
+ opts.banner = <<~BANNER
11
+ <%= gem_name.capitalize %>
12
+ Expanded help here
13
+
14
+ Commands:
15
+ BANNER
16
+ help(opts)
17
+ options_other(opts)
18
+ version(opts)
19
+ end.parse!
20
+ end
21
+
22
+ def help(opts)
23
+ opts.on("-h", "--help", "This help message") do
24
+ puts opts
25
+ exit
26
+ end
27
+ end
28
+
29
+ def options_other(opts)
30
+ opts.on("-o", "--other", "Do... other") do |_o|
31
+ puts "OK"
32
+ exit
33
+ end
34
+ end
35
+
36
+ def version(opts)
37
+ opts.on("-v", "--version", "The version") do
38
+ puts <%= gem_name.capitalize %>::VERSION
39
+ exit
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module <%= gem_name.capitalize %>
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "<%= gem_name %>/version"
4
+
5
+ # <%= gem_name.capitalize %>'s top level module
6
+ module <%= gem_name.capitalize %>
7
+ end
File without changes
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ class Test<%= gem_name.capitalize %> < Minitest::Test
6
+ def test_that_it_has_a_version_number
7
+ refute_nil ::<%= gem_name.capitalize %>::VERSION
8
+ end
9
+
10
+ def test_it_does_something_useful
11
+ assert true
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "simplecov"
4
+ SimpleCov.start do
5
+ add_filter "/test/"
6
+ end
7
+
8
+ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
9
+ require "<%= gem_name %>"
10
+
11
+ require "minitest/autorun"
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scipio
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0
5
+ platform: ruby
6
+ authors:
7
+ - Mike Kreuzer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ0wCwYDVQQDDARtaWtl
14
+ MRswGQYKCZImiZPyLGQBGRYLbWlrZWtyZXV6ZXIxEzARBgoJkiaJk/IsZAEZFgNj
15
+ b20wHhcNMjQwODA4MDIzNjEwWhcNMjUwODA4MDIzNjEwWjBBMQ0wCwYDVQQDDARt
16
+ aWtlMRswGQYKCZImiZPyLGQBGRYLbWlrZWtyZXV6ZXIxEzARBgoJkiaJk/IsZAEZ
17
+ FgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCmglRYFT8KQzXy
18
+ FfR96x8RTRUmk3ahagfIoH8gkCLrTpKL6qmEbzRBrmg3utjAMooQK3xn0aLwVq6T
19
+ 20uw42HsYxY+/zKAy7lYAg5bJUQ98QNcgKs3N4qUbQdClV5VJQ7on7pHiGLQIT37
20
+ HU//FP3yUDuf3Lwfrm/DS0T1E0FEkGbKxmsbUsr5ZFwa6YbBM9BPrtckE5DyPNZV
21
+ N7ueizKxgAO4Buw6FdJnMZ9kdRqFbVkBZRJnbAsiiWHNh/rV8VU9Zux74GGo+HiJ
22
+ i0r0Ts28hfBsIHfZrz2Xn/rvvC+D59LPBcBeVeMjVzUXQvN6J4VoGbXjRl0F5X2j
23
+ 5WtyBLr7bA86TVsXWQSQDWT/DBx4T+YTp964XhIaer69Hj7n0YhhoiR2HMlbisON
24
+ rWpiIaxN0a2N8jOWAXi2Vz+IuceFULFFjbEyfcLOgkFxYPTDh/wSZ0e547MTliw3
25
+ xfs+km5aTprQKQHK1IpLcWQ/23KbZbOHS0sJjem1WzbzBBtHHhcCAwEAAaN7MHkw
26
+ CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFKf5PbSu3EXt0eEsHMty
27
+ EisanEBpMB8GA1UdEQQYMBaBFG1pa2VAbWlrZWtyZXV6ZXIuY29tMB8GA1UdEgQY
28
+ MBaBFG1pa2VAbWlrZWtyZXV6ZXIuY29tMA0GCSqGSIb3DQEBCwUAA4IBgQBB1pEL
29
+ PPmfEMPwNamql+b2aIkvOt0YEXMf7fUgp/BiFAYV+gZad/n986+0nPAW2GaPIdxI
30
+ dFSOiEf0QBvqIfAneVZZZuxAzEEhsCDpvtC8kI0v/mSmiTI2ZRZQbiuSHJH/uqMX
31
+ GrhpdekaLop0w6O6yjlPXt3p4Xm80c8wYQwptMdJsbuzZtRBg0mDYEkhIx3ww00P
32
+ 46yTjs8UZPOKTzh0HwtX/FYOqrtAFbNrNS8u6kvEXZUv/bTklc7RSCVjbuO2iqtd
33
+ H/Vp9AfhQ9r/DD5ETlhqUKLfAbsJDAgrWjwwJh5CCpe9K6ZGU2/23hQX/o7KMMId
34
+ j7yChcdwTf8FSZQVnofOAnx0yXOSPtwO94kC63GYYSuSEyRs3zyFfsQ1QUu6sUGc
35
+ ePu9aPoMUctW7oy5Cn1y/gm8sg+kMyGO4qC6q5M5EyfCPZIz5XUtLZKstIZHW5DK
36
+ /F7laAkX2XDBV5Cs1j7iLEgJPyL+U0b+vMSAl19+/sO8adoXNZO1qAMsqew=
37
+ -----END CERTIFICATE-----
38
+ date: 2024-08-13 00:00:00.000000000 Z
39
+ dependencies: []
40
+ description: |
41
+ A small CLI utility to:
42
+ - set up new Ruby Gems using a configurable template
43
+ - set up local & remote git repos
44
+ - launch Rake tasks from anywhere
45
+ email:
46
+ - mike@mikekreuzer.com
47
+ executables:
48
+ - scipio
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - CHANGELOG.md
53
+ - LICENSE.txt
54
+ - README.md
55
+ - bin/console
56
+ - bin/scipio
57
+ - bin/setup
58
+ - lib/scipio.rb
59
+ - lib/scipio/cli.rb
60
+ - lib/scipio/config.rb
61
+ - lib/scipio/gems.rb
62
+ - lib/scipio/git.rb
63
+ - lib/scipio/rake.rb
64
+ - lib/scipio/version.rb
65
+ - template/%{gem_name}.gemspec.t
66
+ - template/.gitignore
67
+ - template/CHANGELOG.md
68
+ - template/CODE_OF_CONDUCT.md
69
+ - template/Gemfile
70
+ - template/LICENSE.txt
71
+ - template/README.md
72
+ - template/Rakefile
73
+ - template/bin/%{gem_name}
74
+ - template/bin/console
75
+ - template/bin/setup
76
+ - template/certs/.gitkeep
77
+ - template/checksums/.gitkeep
78
+ - template/lib/%{gem_name}.rb
79
+ - template/lib/%{gem_name}/cli.rb
80
+ - template/lib/%{gem_name}/version.rb
81
+ - template/pkg/.gitkeep
82
+ - template/test/test_%{gem_name}.rb
83
+ - template/test/test_helper.rb
84
+ homepage: https://codeberg.org/kreuzer/scipio
85
+ licenses:
86
+ - AGPL-3.0-or-later
87
+ metadata:
88
+ changelog_uri: https://codeberg.org/kreuzer/scipio/src/branch/main/CHANGELOG.md
89
+ homepage_uri: https://codeberg.org/kreuzer/scipio
90
+ rubygems_mfa_required: 'true'
91
+ source_code_uri: https://codeberg.org/kreuzer/scipio
92
+ post_install_message:
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '3.3'
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubygems_version: 3.5.17
108
+ signing_key:
109
+ specification_version: 4
110
+ summary: A small CLI utility to set up Ruby Gems & git repos, & to run Rake tasks
111
+ from anywhere
112
+ test_files: []
metadata.gz.sig ADDED
Binary file