lolcommits-term_output 0.5.0 → 0.5.1

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: 7611cd3a65922c390b7ac263411258f60687cf60b01dc8c54558bda51857f04c
4
- data.tar.gz: 9e07314a55e7b099b64353e2a7d7fdbf7da11b30753b922aa53a1385e2bbf13b
3
+ metadata.gz: 82aa8dc2bb8de55071499b4b241a50b98738c909fe278b239cf59a9719e07cd3
4
+ data.tar.gz: c23977e0ed9d09239ee91b5adf0686af1e224b3a43fdb0f9cde981ecb6d04b40
5
5
  SHA512:
6
- metadata.gz: '055786580484e7bd27f99e45811b8c2ad521908837c1ebe47bc2f5e0eb213126e6deca912d000778bfe1eaa3956add524bfe381e17294b3bbf3405d3c69b3d44'
7
- data.tar.gz: 65764fc66ee33b82238a7ce0ced9a9b87eb0e1b5e92d7da77d5fcc7d630600f734a044abc841d5834b9f41d55bddcc29cd24f7a693b4b0d55c7cf0009a7e4aa3
6
+ metadata.gz: 25621b8daf7f8927106481aa5dd45c2a007057425d46437ea6fb6fc6992fac25c560a0c7972e909685b979a3815a99805ae5610b2b51fb8cfe7797a22bb9737c
7
+ data.tar.gz: 7092a9764256afd48cb2a909616587bcacc33ab35004d0f1587d38eb93060ec250ee9c5b02cc2fdc7535a7f553867a6279fc6e6f251a57b15b0cdbc4e4f97c0b
@@ -0,0 +1,56 @@
1
+ name: CI
2
+ permissions:
3
+ contents: read
4
+
5
+ on:
6
+ push:
7
+ branches:
8
+ - main
9
+ pull_request:
10
+ branches:
11
+ - main
12
+
13
+ jobs:
14
+ rubocop:
15
+ name: RuboCop
16
+ runs-on: ubuntu-latest
17
+ env:
18
+ BUNDLE_ONLY: rubocop
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v4
22
+ - name: Setup Ruby and install gems
23
+ uses: ruby/setup-ruby@v1
24
+ with:
25
+ ruby-version: 3.3.0
26
+ bundler-cache: true
27
+ - name: Run Rubocop
28
+ run: bundle exec rubocop --parallel
29
+ test:
30
+ name: ${{ format('Unit tests (Ruby {0})', matrix.ruby-version) }}
31
+ runs-on: ubuntu-latest
32
+ strategy:
33
+ matrix:
34
+ ruby-version:
35
+ - "3.1"
36
+ - "3.2"
37
+ - "3.3"
38
+ - "3.4"
39
+ continue-on-error: true
40
+ steps:
41
+ - name: Checkout code
42
+ uses: actions/checkout@v4
43
+ - name: Setup Ruby and install gems
44
+ uses: ruby/setup-ruby@v1
45
+ with:
46
+ ruby-version: ${{ matrix.ruby-version }}
47
+ bundler-cache: true
48
+ - name: Configure Git
49
+ run: |
50
+ git config --global user.name $NAME
51
+ git config --global user.email $EMAIL
52
+ env:
53
+ NAME: "George Costanza"
54
+ EMAIL: "george.costanza@vandelay.com"
55
+ - name: Run tests
56
+ run: bundle exec rake test
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+ set -e
3
+ grep -E "\.rb$|Rakefile|Gemfile" | xargs ./bin/rubocop --config .rubocop.yml --force-exclusion
data/.rubocop.yml ADDED
@@ -0,0 +1,2 @@
1
+ inherit_gem:
2
+ rubocop-rails-omakase: rubocop.yml
data/CHANGELOG.md CHANGED
@@ -9,7 +9,12 @@ project adheres to [Semantic Versioning][Semver].
9
9
 
10
10
  - Your contribution here!
11
11
 
12
- ## [0.5.0] - 2024--09-24
12
+ ## [0.5.1] - 2024-12-29
13
+ ### Changed
14
+ - Push gems with bundler (not GitHub actions)
15
+ - Updated documentation links
16
+
17
+ ## [0.5.0] - 2024-09-24
13
18
  ### Removed
14
19
  - Support for Ruby < 3.1 (older rubies no longer supported)
15
20
 
@@ -68,7 +73,8 @@ project adheres to [Semantic Versioning][Semver].
68
73
  ### Changed
69
74
  - Initial release
70
75
 
71
- [Unreleased]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.5.0...HEAD
76
+ [Unreleased]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.5.1...HEAD
77
+ [0.5.1]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.5.0...v0.5.1
72
78
  [0.5.0]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.4.0...v0.5.0
73
79
  [0.4.0]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.3.0...v0.4.0
74
80
  [0.3.0]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.2.0...v0.3.0
@@ -82,4 +88,3 @@ project adheres to [Semantic Versioning][Semver].
82
88
  [0.0.2]: https://github.com/lolcommits/lolcommits-term_output/compare/v0.0.1...v0.0.2
83
89
  [0.0.1]: https://github.com/lolcommits/lolcommits-term_output/compare/0251ee8...v0.0.1
84
90
  [KeepAChangelog]: http://keepachangelog.com/en/1.0.0/
85
- [Semver]: http://semver.org/spec/v2.0.0.html
data/Gemfile CHANGED
@@ -1,2 +1,6 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
  gemspec
3
+
4
+ group :rubocop do
5
+ gem "rubocop-rails-omakase", require: false
6
+ end
data/README.md CHANGED
@@ -1,17 +1,16 @@
1
1
  # Lolcommits Term Output
2
2
 
3
- [![Build](https://img.shields.io/github/actions/workflow/status/lolcommits/lolcommits-term_output/build.yml?branch=main&style=flat)](https://github.com/lolcommits/lolcommits-term_output/actions/workflows/build.yml)
3
+ [![CI](https://img.shields.io/github/actions/workflow/status/lolcommits/lolcommits-term_output/ci.yml?branch=main&style=flat&label=CI)](https://github.com/lolcommits/lolcommits-term_output/actions/workflows/ci.yml)
4
4
  [![Gem](https://img.shields.io/gem/v/lolcommits-term_output.svg?style=flat)](http://rubygems.org/gems/lolcommits-term_output)
5
5
  [![Depfu](https://img.shields.io/depfu/lolcommits/lolcommits-term_output.svg?style=flat)](https://depfu.com/github/lolcommits/lolcommits-term_output)
6
6
 
7
- [lolcommits](https://lolcommits.github.io/) takes a snapshot with your
8
- webcam every time you git commit code, and archives a lolcat style image
9
- with it. Git blame has never been so much fun!
7
+ [lolcommits](https://lolcommits.github.io/) takes a snapshot with your webcam
8
+ every time you git commit code, and archives a lolcat style image with it. Git
9
+ blame has never been so much fun!
10
10
 
11
- This plugin uses the [inline
12
- image](http://iterm2.com/documentation-images.html) feature available in
13
- [iTerm2](http://iterm2.com/index.html) to display each lolcommit (images
14
- only) in your terminal (after committing). For example:
11
+ This plugin uses the [inline image](http://iterm2.com/documentation-images.html)
12
+ feature available in [iTerm2](http://iterm2.com/index.html) to display each
13
+ lolcommit (images only) in your terminal (after committing). For example:
15
14
 
16
15
  ![iterm inline sample screenshot](./assets/images/sample.png)
17
16
 
@@ -34,20 +33,19 @@ Then configure to enable and set the remote endpoint:
34
33
  $ lolcommits --config -p term_output
35
34
  # set enabled to `true`
36
35
 
37
- That's it! Your next lolcommit will be displayed within your terminal.
38
- To disable use:
36
+ That's it! Your next lolcommit will be displayed within your terminal. To
37
+ disable use:
39
38
 
40
39
  $ lolcommits --config -p term_output
41
40
  # and set enabled to `false`
42
41
 
43
42
  ## Development
44
43
 
45
- Check out this repo and run `bin/setup`, this will install all
46
- dependencies and generate docs. Use `bundle exec rake` to run all tests
47
- and generate a coverage report.
44
+ Check out this repo and run `bin/setup`, this will install all dependencies and
45
+ generate docs. Use `bundle exec rake` to run all tests.
48
46
 
49
- You can also run `bin/console` for an interactive prompt that will allow
50
- you to experiment with the gem code.
47
+ You can also run `bin/console` for an interactive prompt that will allow you to
48
+ experiment with the gem code.
51
49
 
52
50
  ## Tests
53
51
 
@@ -64,17 +62,14 @@ Generate docs for this gem with:
64
62
  ## Troubles?
65
63
 
66
64
  If you think something is broken or missing, please raise a new
67
- [issue](https://github.com/lolcommits/lolcommits-term_output/issues).
68
- Take a moment to check it hasn't been raised in the past (and possibly
69
- closed).
65
+ [issue](https://github.com/lolcommits/lolcommits-term_output/issues). Take a
66
+ moment to check it hasn't been raised in the past (and possibly closed).
70
67
 
71
68
  ## Contributing
72
69
 
73
- Bug
74
- [reports](https://github.com/lolcommits/lolcommits-term_output/issues)
75
- and [pull
76
- requests](https://github.com/lolcommits/lolcommits-term_output/pulls)
77
- are welcome on GitHub.
70
+ Bug [reports](https://github.com/lolcommits/lolcommits-term_output/issues) and
71
+ [pull requests](https://github.com/lolcommits/lolcommits-term_output/pulls) are
72
+ welcome on GitHub.
78
73
 
79
74
  When submitting pull requests, remember to add tests covering any new behaviour,
80
75
  and ensure all tests are passing on CI. Read the [contributing
@@ -94,8 +89,8 @@ The gem is available as open source under the terms of
94
89
 
95
90
  ## Links
96
91
 
97
- * [CI](https://github.com/lolcommits/lolcommits-term_output/actions/workflows/build.yml)
98
- * [RDoc](http://rdoc.info/projects/lolcommits/lolcommits-term_output)
92
+ * [CI](https://github.com/lolcommits/lolcommits-term_output/actions/workflows/ci.yml)
93
+ * [RDoc](https://rubydoc.info/gems/lolcommits-term_output)
99
94
  * [Issues](http://github.com/lolcommits/lolcommits-term_output/issues)
100
95
  * [Report a bug](http://github.com/lolcommits/lolcommits-term_output/issues/new)
101
96
  * [Gem](http://rubygems.org/gems/lolcommits-term_output)
data/Rakefile CHANGED
@@ -18,4 +18,4 @@ Rake::TestTask.new(:test) do |t|
18
18
  t.test_files = FileList["test/**/*_test.rb"]
19
19
  end
20
20
 
21
- task :default => ['test']
21
+ task default: [ "test" ]
data/bin/rubocop ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ load Gem.bin_path("rubocop", "rubocop")
@@ -1,14 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'base64'
4
- require 'lolcommits/plugin/base'
3
+ require "base64"
4
+ require "lolcommits/plugin/base"
5
5
 
6
6
  module Lolcommits
7
7
  module Plugin
8
8
  class TermOutput < Base
9
-
10
9
  ## Prompts the user to configure the plugin's options. The default
11
- #superclass method will ask for the `enabled` option to be set.
10
+ # superclass method will ask for the `enabled` option to be set.
12
11
  #
13
12
  # @return [Hash] hash of configured options `{ enabled: true/false }`
14
13
  # @return [Nil] if this terminal does not support this plugin
@@ -33,16 +32,16 @@ module Lolcommits
33
32
  def run_capture_ready
34
33
  if terminal_supported?
35
34
  if !runner.vcs_info || runner.vcs_info.repo.empty?
36
- debug 'repo is empty, skipping term output'
35
+ debug "repo is empty, skipping term output"
37
36
  elsif !image_path
38
- debug 'lolcommit videos not supported'
37
+ debug "lolcommit videos not supported"
39
38
  else
40
39
  debug "rendering image in iTerm"
41
40
  base64 = Base64.encode64(open(image_path, &:read).to_s)
42
41
  puts "#{begin_escape}1337;File=inline=1:#{base64};alt=#{runner.message};#{end_escape}\n"
43
42
  end
44
43
  else
45
- debug 'Terminal not supported (requires iTerm2)'
44
+ debug "Terminal not supported (requires iTerm2)"
46
45
  end
47
46
  end
48
47
 
@@ -89,7 +88,7 @@ module Lolcommits
89
88
  # @return [Boolan] true when running within a Tmux session
90
89
  #
91
90
  def tmux?
92
- !ENV['TMUX'].nil?
91
+ !ENV["TMUX"].nil?
93
92
  end
94
93
 
95
94
  ##
@@ -98,7 +97,7 @@ module Lolcommits
98
97
  # @return [Boolan] true when terminal identifies as iTerm
99
98
  #
100
99
  def terminal_supported?
101
- ENV['TERM_PROGRAM'] =~ /iTerm/
100
+ ENV["TERM_PROGRAM"] =~ /iTerm/
102
101
  end
103
102
  end
104
103
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lolcommits
4
4
  module TermOutput
5
- VERSION = "0.5.0".freeze
5
+ VERSION = "0.5.1".freeze
6
6
  end
7
7
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lolcommits/term_output/version'
4
- require 'lolcommits/plugin/term_output'
3
+ require "lolcommits/term_output/version"
4
+ require "lolcommits/plugin/term_output"
@@ -5,8 +5,8 @@ require 'lolcommits/term_output/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "lolcommits-term_output"
7
7
  spec.version = Lolcommits::TermOutput::VERSION
8
- spec.authors = ["Matthew Hutchinson"]
9
- spec.email = ["matt@hiddenloop.com"]
8
+ spec.authors = [ "Matthew Hutchinson" ]
9
+ spec.email = [ "matt@hiddenloop.com" ]
10
10
  spec.summary = "Display lolcommits within your iTerm terminal"
11
11
  spec.homepage = "https://github.com/lolcommits/lolcommits-term_output"
12
12
  spec.license = "LGPL-3.0"
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.metadata = {
16
16
  "homepage_uri" => "https://github.com/lolcommits/lolcommits-term_output",
17
+ "documentation_uri" => "https://rubydoc.info/gems/lolcommits-term_output",
17
18
  "changelog_uri" => "https://github.com/lolcommits/lolcommits-term_output/blob/master/CHANGELOG.md",
18
19
  "source_code_uri" => "https://github.com/lolcommits/lolcommits-term_output",
19
20
  "bug_tracker_uri" => "https://github.com/lolcommits/lolcommits-term_output/issues",
@@ -24,7 +25,7 @@ Gem::Specification.new do |spec|
24
25
  spec.test_files = `git ls-files -- {test,features}/*`.split("\n")
25
26
  spec.bindir = "bin"
26
27
  spec.executables = []
27
- spec.require_paths = ["lib"]
28
+ spec.require_paths = [ "lib" ]
28
29
 
29
30
  spec.required_ruby_version = ">= 3.1"
30
31
 
Binary file
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ describe Lolcommits::Plugin::TermOutput do
6
+ include Lolcommits::TestHelpers::GitRepo
7
+ include Lolcommits::TestHelpers::FakeIO
8
+
9
+ # initialize and reset env vars before tests run
10
+ before do
11
+ @old_tmux = ENV["TMUX"]
12
+ @old_term_program = ENV["TERM_PROGRAM"]
13
+ ENV["TERM_PROGRAM"] = "iTerm"
14
+ ENV["TMUX"] = nil
15
+ end
16
+
17
+ after do
18
+ ENV["TERM_PROGRAM"] = @old_term_program
19
+ ENV["TMUX"] = @old_tmux
20
+ end
21
+
22
+ describe "with a runner" do
23
+ def runner
24
+ # a simple lolcommits runner with an empty configuration Hash
25
+ @runner ||= Lolcommits::Runner.new.tap do |r|
26
+ r.lolcommit_path = lolcommit_path
27
+ end
28
+ end
29
+
30
+ def lolcommit_path
31
+ File.expand_path(File.dirname(__FILE__) + "../../../assets/test_image.jpg")
32
+ end
33
+
34
+ def plugin
35
+ @plugin ||= Lolcommits::Plugin::TermOutput.new(runner: runner)
36
+ end
37
+
38
+ def valid_enabled_config
39
+ { enabled: true }
40
+ end
41
+
42
+ describe "#enabled?" do
43
+ it "is false by default" do
44
+ _(plugin.enabled?).must_equal false
45
+ end
46
+
47
+ it "is true when configured" do
48
+ plugin.configuration = valid_enabled_config
49
+ _(plugin.enabled?).must_equal true
50
+ end
51
+ end
52
+
53
+ describe "run_capture_ready" do
54
+ before { commit_repo_with_message("test commit") }
55
+ after { teardown_repo }
56
+
57
+ def check_plugin_output(matching_regex)
58
+ in_repo do
59
+ plugin.configuration = valid_enabled_config
60
+ output = fake_io_capture { plugin.run_capture_ready }
61
+ _(output).must_match matching_regex
62
+ end
63
+ end
64
+
65
+ it "outputs lolcommits image inline to terminal" do
66
+ check_plugin_output(/^\e\]1337;File=inline=1\:.+\n;alt=test commit;\a\n$/m)
67
+ end
68
+
69
+ describe "when running in a Tmux session" do
70
+ before do
71
+ ENV["TMUX"] = "true"
72
+ end
73
+
74
+ it "outputs lolcommits image inline to terminal with Tmux escape sequence" do
75
+ check_plugin_output(/^\ePtmux;\e\e\]1337;File=inline=1\:.+\n;alt=test commit;\a\e\\\n$/m)
76
+ end
77
+ end
78
+
79
+ describe "when using an unsupported terminal" do
80
+ before do
81
+ ENV["TERM_PROGRAM"] = "konsole"
82
+ end
83
+
84
+ it "outputs nothing to the terminal" do
85
+ check_plugin_output ""
86
+ end
87
+ end
88
+ end
89
+
90
+ describe "configuration" do
91
+ it "allows plugin options to be configured" do
92
+ inputs = %w[ true ] # enabled option
93
+ configured_plugin_options = {}
94
+
95
+ fake_io_capture(inputs: inputs) do
96
+ configured_plugin_options = plugin.configure_options!
97
+ end
98
+
99
+ _(configured_plugin_options).must_equal({ enabled: true })
100
+ end
101
+
102
+ describe "when terminal not supported" do
103
+ before do
104
+ ENV["TERM_PROGRAM"] = "konsole"
105
+ end
106
+
107
+ it "does not allow options to be configured" do
108
+ inputs = %w[ true ] # enabled option
109
+ configured_plugin_options = {}
110
+
111
+ output = fake_io_capture(inputs: inputs) do
112
+ configured_plugin_options = plugin.configure_options!
113
+ end
114
+
115
+ assert_equal configured_plugin_options, {}
116
+ _(output).must_match(/Sorry, this terminal does not support this plugin/)
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
4
+
5
+ # lolcommits gem
6
+ require "lolcommits"
7
+
8
+ # lolcommit test helpers
9
+ require "lolcommits/test_helpers/git_repo"
10
+ require "lolcommits/test_helpers/fake_io"
11
+
12
+ # plugin gem test libs
13
+ require "lolcommits/term_output"
14
+ require "minitest/autorun"
15
+
16
+ # swallow all debug output during test runs
17
+ def debug(msg); end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lolcommits-term_output
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Hutchinson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-24 00:00:00.000000000 Z
11
+ date: 2024-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lolcommits
@@ -73,35 +73,38 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ".github/workflows/build.yml"
77
- - ".github/workflows/push_gem.yml"
76
+ - ".github/workflows/ci.yml"
78
77
  - ".gitignore"
79
- - ".simplecov"
80
- - ".travis.yml"
78
+ - ".quickhook/pre-commit/ruby-lint"
79
+ - ".rubocop.yml"
81
80
  - CHANGELOG.md
82
81
  - CODE_OF_CONDUCT.md
83
82
  - CONTRIBUTING.md
84
83
  - Gemfile
85
84
  - LICENSE
86
- - PULL_REQUEST_TEMPLATE.md
87
85
  - README.md
88
86
  - Rakefile
89
87
  - bin/console
88
+ - bin/rubocop
90
89
  - bin/setup
91
90
  - lib/lolcommits/plugin/term_output.rb
92
91
  - lib/lolcommits/term_output.rb
93
92
  - lib/lolcommits/term_output/version.rb
94
93
  - lolcommits-term_output.gemspec
94
+ - test/assets/test_image.jpg
95
+ - test/lolcommits/plugin/term_output_test.rb
96
+ - test/test_helper.rb
95
97
  homepage: https://github.com/lolcommits/lolcommits-term_output
96
98
  licenses:
97
99
  - LGPL-3.0
98
100
  metadata:
99
101
  homepage_uri: https://github.com/lolcommits/lolcommits-term_output
102
+ documentation_uri: https://rubydoc.info/gems/lolcommits-term_output
100
103
  changelog_uri: https://github.com/lolcommits/lolcommits-term_output/blob/master/CHANGELOG.md
101
104
  source_code_uri: https://github.com/lolcommits/lolcommits-term_output
102
105
  bug_tracker_uri: https://github.com/lolcommits/lolcommits-term_output/issues
103
106
  allowed_push_host: https://rubygems.org
104
- post_install_message:
107
+ post_install_message:
105
108
  rdoc_options: []
106
109
  require_paths:
107
110
  - lib
@@ -116,8 +119,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
119
  - !ruby/object:Gem::Version
117
120
  version: '0'
118
121
  requirements: []
119
- rubygems_version: 3.5.16
120
- signing_key:
122
+ rubygems_version: 3.5.22
123
+ signing_key:
121
124
  specification_version: 4
122
125
  summary: Display lolcommits within your iTerm terminal
123
- test_files: []
126
+ test_files:
127
+ - test/assets/test_image.jpg
128
+ - test/lolcommits/plugin/term_output_test.rb
129
+ - test/test_helper.rb
@@ -1,34 +0,0 @@
1
- name: Tests
2
-
3
- on:
4
- push:
5
- branches: [ "main" ]
6
- pull_request:
7
- branches: [ "main" ]
8
-
9
- permissions:
10
- contents: read
11
-
12
- jobs:
13
- test:
14
- runs-on: ubuntu-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby-version: ['3.1', '3.2', '3.3', '3.4']
19
- steps:
20
- - uses: actions/checkout@v4
21
- - name: Set up Ruby
22
- uses: ruby/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby-version }}
25
- bundler-cache: true
26
- - name: Configure git user name, email
27
- run: |
28
- git config --global user.name $NAME
29
- git config --global user.email $EMAIL
30
- env:
31
- NAME: "George Costanza"
32
- EMAIL: "george.costanza@vandelay.com"
33
- - name: Run tests
34
- run: bundle exec rake test
@@ -1,25 +0,0 @@
1
- name: Publish gem to RubyGems.org
2
-
3
- on:
4
- push:
5
- tags:
6
- - v*
7
-
8
- jobs:
9
- push:
10
- name: Push gem to RubyGems.org
11
- runs-on: ubuntu-latest
12
-
13
- permissions:
14
- id-token: write
15
- contents: write
16
-
17
- steps:
18
- - uses: actions/checkout@v4
19
- - name: Set up Ruby
20
- uses: ruby/setup-ruby@v1
21
- with:
22
- bundler-cache: true
23
- ruby-version: ruby
24
-
25
- - uses: rubygems/release-gem@v1
data/.simplecov DELETED
@@ -1,9 +0,0 @@
1
- SimpleCov.start do
2
- add_filter '/test/'
3
- add_filter '/vendor/'
4
- end
5
-
6
- SimpleCov.at_exit do
7
- SimpleCov.result.format!
8
- `open ./coverage/index.html` if RUBY_PLATFORM =~ /darwin/
9
- end
data/.travis.yml DELETED
@@ -1,29 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.5.8
6
- - 2.6.6
7
- - 2.7.2
8
- - 3.0.0
9
- - ruby-head
10
-
11
- before_install:
12
- - git --version
13
- - git config --global user.email "lol@commits.org"
14
- - git config --global user.name "Lolcommits"
15
-
16
- matrix:
17
- allow_failures:
18
- - rvm: ruby-head
19
-
20
- env:
21
- global:
22
- - CC_TEST_REPORTER_ID=eb8c60bf77e0ed78453285e1d9c0aa4c9c248a4945f077615edb042db7753fb9
23
- - GIT_COMMITTED_AT=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then git log -1 --pretty=format:%ct; else git log -1 --skip 1 --pretty=format:%ct; fi)
24
- before_script:
25
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
26
- - chmod +x ./cc-test-reporter
27
- - ./cc-test-reporter before-build - GIT_COMMITTED_AT=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then git log -1 --pretty=format:%ct; else git log -1 --skip 1 --pretty=format:%ct; fi)
28
- after_script:
29
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
@@ -1,16 +0,0 @@
1
-
2
- Explain what you're changing and why here.
3
-
4
- ---
5
- #### :memo: Checklist
6
-
7
- Please check this list and leave it intact for the reviewer. Thanks! :heart:
8
-
9
- - [ ] Commit messages provide context (why not just what, some tips [here](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)).
10
- - [ ] If relevant, mention GitHub issue number above and include in a commit message.
11
- - [ ] Latest code from master merged.
12
- - [ ] New behaviour has test coverage.
13
- - [ ] Avoid duplicating code.
14
- - [ ] No commented out code.
15
- - [ ] Avoid comments for your code, write code that explains itself.
16
- - [ ] Changes are simple, useful, clear and brief.