lolcommits-loltext 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: fa7c7d74d63445e8c531b40fa367644a343528bbd16793842d99af48e4cf67db
4
- data.tar.gz: c01bb1dff82afad74fbd41f6d85f39b3dbe8800ca3e7d59d09a4a17d17f6936b
3
+ metadata.gz: 6f90204ac6abd91506e9813ce0db0688b16ba9f097d11c618961beff6d2c84c9
4
+ data.tar.gz: 0e232402c3e2405465ad978ecfe92134ccfd4bea90ab5e43fb07ff10a391c866
5
5
  SHA512:
6
- metadata.gz: aec0209eb5bf5cbe7dbe8b1dd4a4a099ca95cb61c196525ffaaa452bf119a4a3d7ee7baa7c2b8623fdb491f5d209a7dbfd05acc8d636bfbaffca834b4375300a
7
- data.tar.gz: 561bb1ba4246e9d0ba48c387a395f966242e4d93c058c77d67c94b3cc9626f8589743ffb851edc3ccadc6a6f14ed706c48aeac048ab6da82f12adb7b804bb786
6
+ metadata.gz: 6122f7df7b83b50531ace30a5e9725accd211c68bfe87a7d069c5b32fa907e8c8a42af6e15f98b48e67f654020dac9100f55ff18797424889264d828c06cc4f5
7
+ data.tar.gz: 01eb690928888869dac45ce7c7947fe99d24bb11772f67b0c7e174928eb34ecc56dd3e59a62baf95a198d4a90947765065b8cc5d2919feeb51a45c666ac9b8c0
@@ -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,6 +9,11 @@ project adheres to [Semantic Versioning][Semver].
9
9
 
10
10
  - Your contribution here!
11
11
 
12
+ ## [0.5.1] - 2024-12-29
13
+ ### Changed
14
+ - Push gems with bundler (not GitHub actions)
15
+ - Updated documentation links
16
+
12
17
  ## [0.5.0] - 2024-09-20
13
18
  ### Removed
14
19
  - Support for Ruby < 3.1 (older rubies no longer supported)
@@ -88,7 +93,9 @@ lolcommits 0.14.0)
88
93
  ### Changed
89
94
  - Initial release (Yanked)
90
95
 
91
- [Unreleased]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.4.0...HEAD
96
+ [Unreleased]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.5.1...HEAD
97
+ [0.5.1]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.5.0...v0.5.1
98
+ [0.5.0]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.4.0...v0.5.0
92
99
  [0.4.0]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.3.0...v0.4.0
93
100
  [0.3.0]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.2.1...v0.3.0
94
101
  [0.2.3]: https://github.com/lolcommits/lolcommits-loltext/compare/v0.1.0...v0.2.3
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,6 +1,6 @@
1
1
  # Lolcommits Loltext
2
2
 
3
- [![Build](https://img.shields.io/github/actions/workflow/status/lolcommits/lolcommits-loltext/build.yml?branch=main&style=flat)](https://github.com/lolcommits/lolcommits-loltext/actions/workflows/build.yml)
3
+ [![CI](https://img.shields.io/github/actions/workflow/status/lolcommits/lolcommits-loltext/ci.yml?branch=main&style=flat&label=CI)](https://github.com/lolcommits/lolcommits-loltext/actions/workflows/ci.yml)
4
4
  [![Gem](https://img.shields.io/gem/v/lolcommits-loltext.svg?style=flat)](http://rubygems.org/gems/lolcommits-loltext)
5
5
  [![Depfu](https://img.shields.io/depfu/lolcommits/lolcommits-loltext.svg?style=flat)](https://depfu.com/github/lolcommits/lolcommits-loltext)
6
6
 
@@ -8,9 +8,9 @@
8
8
  webcam every time you git commit code, and archives a lolcat style image
9
9
  with it. Git blame has never been so much fun!
10
10
 
11
- This plugin annotates each lolcommit with the commit message and sha
12
- text. You can style and position these however you like, or add a
13
- transparent overlay color that covers the entire image.
11
+ This plugin annotates each lolcommit with the commit message and sha text. You
12
+ can style and position these however you like, or add a transparent overlay
13
+ color that covers the entire image.
14
14
 
15
15
  By default your lolcommit will look something like this (maybe without the
16
16
  horse):
@@ -35,15 +35,14 @@ more information on the options available.
35
35
 
36
36
  ## Installation
37
37
 
38
- By default, this plugin is automatically included with the main
39
- lolcommits gem. If you have uninstalled this gem, install it again
40
- with:
38
+ By default, this plugin is automatically included with the main lolcommits gem.
39
+ If you have uninstalled this gem, install it again with:
41
40
 
42
41
  $ gem install lolcommits-loltext
43
42
 
44
- That's it! Every lolcommit will now be stamped with your commit message
45
- and sha. This plugin is enabled by default (if no configuration for it
46
- exists). To disable (so no text or overlay is applied) use:
43
+ That's it! Every lolcommit will now be stamped with your commit message and sha.
44
+ This plugin is enabled by default (if no configuration for it exists). To
45
+ disable (so no text or overlay is applied) use:
47
46
 
48
47
  $ lolcommits --config -p loltext
49
48
  # and set enabled to `false`
@@ -75,10 +74,10 @@ Please note that:
75
74
  * Colors can be hex values (#FC0) or strings (white, red etc.)
76
75
  * You can set one or more `overlay_colors` to pick from, separated with commas
77
76
 
78
- With these options it is possible to create your own unique lolcommit
79
- format. To achieve these '[hipster
80
- styled](https://twitter.com/matthutchin/status/738411190343368704)' 🕶
81
- commits, try the following:
77
+ With these options it is possible to create your own unique lolcommit format.
78
+ To achieve these '[hipster
79
+ styled](https://twitter.com/matthutchin/status/738411190343368704)' 🕶 commits,
80
+ try the following:
82
81
 
83
82
  ```
84
83
  loltext:
@@ -109,11 +108,10 @@ loltext:
109
108
  ## Development
110
109
 
111
110
  Check out this repo and run `bin/setup`, to install all dependencies and
112
- generate docs. Run `bundle exec rake` to run all tests and generate a
113
- coverage report.
111
+ generate docs. Run `bundle exec rake` to run all tests.
114
112
 
115
- You can also run `bin/console` for an interactive prompt that will allow
116
- you to experiment with the gem code.
113
+ You can also run `bin/console` for an interactive prompt that will allow you to
114
+ experiment with the gem code.
117
115
 
118
116
  ## Tests
119
117
 
@@ -130,26 +128,23 @@ Generate docs for this gem with:
130
128
  ## Troubles?
131
129
 
132
130
  If you think something is broken or missing, please raise a new
133
- [issue](https://github.com/lolcommits/lolcommits-loltext/issues). Take a
134
- moment to check it hasn't been raised in the past (and possibly closed).
131
+ [issue](https://github.com/lolcommits/lolcommits-loltext/issues). Take a moment
132
+ to check it hasn't been raised in the past (and possibly closed).
135
133
 
136
134
  ## Contributing
137
135
 
138
- Bug [reports](https://github.com/lolcommits/lolcommits-loltext/issues)
139
- and [pull
140
- requests](https://github.com/lolcommits/lolcommits-loltext/pulls) are
141
- welcome on GitHub.
136
+ Bug [reports](https://github.com/lolcommits/lolcommits-loltext/issues) and [pull
137
+ requests](https://github.com/lolcommits/lolcommits-loltext/pulls) are welcome on
138
+ GitHub.
142
139
 
143
- When submitting pull requests, remember to add tests covering any new
144
- behaviour, and ensure all tests are passing. Read the
145
- [contributing
140
+ When submitting pull requests, remember to add tests covering any new behaviour,
141
+ and ensure all tests are passing. Read the [contributing
146
142
  guidelines](https://github.com/lolcommits/lolcommits-loltext/blob/master/CONTRIBUTING.md)
147
143
  for more details.
148
144
 
149
- This project is intended to be a safe, welcoming space for
150
- collaboration, and contributors are expected to adhere to the
151
- [Contributor Covenant](http://contributor-covenant.org) code of conduct.
152
- See
145
+ This project is intended to be a safe, welcoming space for collaboration, and
146
+ contributors are expected to adhere to the [Contributor
147
+ Covenant](http://contributor-covenant.org) code of conduct. See
153
148
  [here](https://github.com/lolcommits/lolcommits-loltext/blob/master/CODE_OF_CONDUCT.md)
154
149
  for more details.
155
150
 
@@ -160,8 +155,8 @@ The gem is available as open source under the terms of
160
155
 
161
156
  ## Links
162
157
 
163
- * [CI](https://github.com/lolcommits/lolcommits-loltext/actions/workflows/build.yml)
164
- * [RDoc](http://rdoc.info/projects/lolcommits/lolcommits-loltext)
158
+ * [CI](https://github.com/lolcommits/lolcommits-loltext/actions/workflows/ci.yml)
159
+ * [RDoc](https://rubydoc.info/gems/lolcommits-loltext)
165
160
  * [Issues](http://github.com/lolcommits/lolcommits-loltext/issues)
166
161
  * [Report a bug](http://github.com/lolcommits/lolcommits-loltext/issues/new)
167
162
  * [Gem](http://rubygems.org/gems/lolcommits-loltext)
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")
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lolcommits
4
4
  module Loltext
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/loltext/version'
4
- require 'lolcommits/plugin/loltext'
3
+ require "lolcommits/loltext/version"
4
+ require "lolcommits/plugin/loltext"
@@ -1,11 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lolcommits/plugin/base'
3
+ require "lolcommits/plugin/base"
4
4
 
5
5
  module Lolcommits
6
6
  module Plugin
7
7
  class Loltext < Base
8
-
9
8
  DEFAULT_FONT_PATH = File.join(
10
9
  File.dirname(__FILE__), "../../../vendor/fonts/Impact.ttf"
11
10
  ).freeze
@@ -17,7 +16,7 @@ module Lolcommits
17
16
  # @return [Array] the position(s) (:post_capture)
18
17
  #
19
18
  def self.runner_order
20
- [:post_capture]
19
+ [ :post_capture ]
21
20
  end
22
21
 
23
22
  ##
@@ -48,18 +47,18 @@ module Lolcommits
48
47
  # @return [Hash] a hash of configured plugin options
49
48
  #
50
49
  def configure_options!
51
- puts '---------------------------------------------------------------'
52
- puts ' LolText options '
53
- puts ''
54
- puts ' * any blank options will use the (default)'
55
- puts ' * always use the full absolute path to fonts'
56
- puts ' * valid text positions are NE, NW, SE, SW, S, C (centered)'
57
- puts ' * colors can be hex #FC0 value or a string \'white\''
58
- puts ' - use `none` for no stroke color'
59
- puts ' * overlay fills your image with a random color'
60
- puts ' - set one or more overlay_colors with a comma seperator'
61
- puts ' - overlay_percent (0-100) sets the fill colorize strength'
62
- puts '---------------------------------------------------------------'
50
+ puts "---------------------------------------------------------------"
51
+ puts " LolText options "
52
+ puts ""
53
+ puts " * any blank options will use the (default)"
54
+ puts " * always use the full absolute path to fonts"
55
+ puts " * valid text positions are NE, NW, SE, SW, S, C (centered)"
56
+ puts " * colors can be hex #FC0 value or a string 'white'"
57
+ puts " - use `none` for no stroke color"
58
+ puts " * overlay fills your image with a random color"
59
+ puts " - set one or more overlay_colors with a comma seperator"
60
+ puts " - overlay_percent (0-100) sets the fill colorize strength"
61
+ puts "---------------------------------------------------------------"
63
62
 
64
63
  super
65
64
  end
@@ -74,13 +73,13 @@ module Lolcommits
74
73
  def run_post_capture
75
74
  debug "creating annotation overlay with MiniMagick"
76
75
  if config_option(:overlay, :enabled)
77
- color = config_option(:overlay, :overlay_colors).split(',').map(&:strip).sample
76
+ color = config_option(:overlay, :overlay_colors).split(",").map(&:strip).sample
78
77
  overlay_percent = config_option(:overlay, :overlay_percent).to_f
79
78
  debug "adding colorized overlay (#{color} at #{overlay_percent}% opacity)"
80
79
  overlay_percent = (255 * (overlay_percent/100)).round
81
80
 
82
81
  runner.overlay.combine_options do |c|
83
- c.fill "#{color}#{sprintf('%02X',overlay_percent)}"
82
+ c.fill "#{color}#{sprintf('%02X', overlay_percent)}"
84
83
  c.draw "color 0,0 reset"
85
84
  end
86
85
  end
@@ -106,7 +105,7 @@ module Lolcommits
106
105
  debug("annotating #{type} text (#{string})")
107
106
 
108
107
  transformed_position = position_transform(config_option(type, :position))
109
- annotate_location = '0'
108
+ annotate_location = "0"
110
109
 
111
110
  padded_annotation = 10
112
111
  if config_option(:border, :enabled)
@@ -141,34 +140,34 @@ module Lolcommits
141
140
  def default_options
142
141
  {
143
142
  message: {
144
- color: 'white',
143
+ color: "white",
145
144
  font: DEFAULT_FONT_PATH,
146
- position: 'SW',
145
+ position: "SW",
147
146
  size: 48,
148
- stroke_color: 'black',
147
+ stroke_color: "black",
149
148
  uppercase: false
150
149
  },
151
150
  sha: {
152
- color: 'white',
151
+ color: "white",
153
152
  font: DEFAULT_FONT_PATH,
154
- position: 'NE',
153
+ position: "NE",
155
154
  size: 32,
156
- stroke_color: 'black',
155
+ stroke_color: "black",
157
156
  uppercase: false
158
157
  },
159
158
  overlay: {
160
159
  enabled: false,
161
160
  overlay_colors: [
162
- '#2e4970', '#674685', '#ca242f', '#1e7882', '#2884ae', '#4ba000',
163
- '#187296', '#7e231f', '#017d9f', '#e52d7b', '#0f5eaa', '#e40087',
164
- '#5566ac', '#ed8833', '#f8991c', '#408c93', '#ba9109'
165
- ].join(','),
161
+ "#2e4970", "#674685", "#ca242f", "#1e7882", "#2884ae", "#4ba000",
162
+ "#187296", "#7e231f", "#017d9f", "#e52d7b", "#0f5eaa", "#e40087",
163
+ "#5566ac", "#ed8833", "#f8991c", "#408c93", "#ba9109"
164
+ ].join(","),
166
165
  overlay_percent: 50
167
166
  },
168
167
  border: {
169
168
  enabled: false,
170
- color: 'white',
171
- size: 10,
169
+ color: "white",
170
+ size: 10
172
171
  }
173
172
  }
174
173
  end
@@ -176,18 +175,18 @@ module Lolcommits
176
175
  # explode psuedo-names for text positioning
177
176
  def position_transform(position)
178
177
  case position
179
- when 'NE'
180
- 'NorthEast'
181
- when 'NW'
182
- 'NorthWest'
183
- when 'SE'
184
- 'SouthEast'
185
- when 'SW'
186
- 'SouthWest'
187
- when 'C'
188
- 'Center'
189
- when 'S'
190
- 'South'
178
+ when "NE"
179
+ "NorthEast"
180
+ when "NW"
181
+ "NorthWest"
182
+ when "SE"
183
+ "SouthEast"
184
+ when "SW"
185
+ "SouthWest"
186
+ when "C"
187
+ "Center"
188
+ when "S"
189
+ "South"
191
190
  end
192
191
  end
193
192
 
@@ -5,9 +5,9 @@ require 'lolcommits/loltext/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "lolcommits-loltext"
7
7
  spec.version = Lolcommits::Loltext::VERSION
8
- spec.authors = ["Matthew Hutchinson"]
9
- spec.email = ["matt@hiddenloop.com"]
10
- spec.summary = %q{lolcommits commit message annotation plugin}
8
+ spec.authors = [ "Matthew Hutchinson" ]
9
+ spec.email = [ "matt@hiddenloop.com" ]
10
+ spec.summary = %q(lolcommits commit message annotation plugin)
11
11
  spec.homepage = "https://github.com/lolcommits/lolcommits-loltext"
12
12
  spec.license = "LGPL-3.0"
13
13
 
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
 
19
19
  spec.metadata = {
20
20
  "homepage_uri" => "https://github.com/lolcommits/lolcommits-loltext",
21
+ "documentation_uri" => "https://rubydoc.info/gems/lolcommits-loltext",
21
22
  "changelog_uri" => "https://github.com/lolcommits/lolcommits-loltext/blob/master/CHANGELOG.md",
22
23
  "source_code_uri" => "https://github.com/lolcommits/lolcommits-loltext",
23
24
  "bug_tracker_uri" => "https://github.com/lolcommits/lolcommits-loltext/issues",
@@ -28,11 +29,11 @@ Gem::Specification.new do |spec|
28
29
  spec.test_files = `git ls-files -- {test,features}/*`.split("\n")
29
30
  spec.bindir = "bin"
30
31
  spec.executables = []
31
- spec.require_paths = ["lib"]
32
+ spec.require_paths = [ "lib" ]
32
33
 
33
34
  spec.required_ruby_version = ">= 3.1"
34
35
 
35
- spec.add_development_dependency "lolcommits", ">= 0.17.0"
36
+ spec.add_development_dependency "lolcommits", ">= 0.17.2"
36
37
  spec.add_development_dependency "bundler"
37
38
  spec.add_development_dependency "rake"
38
39
  spec.add_development_dependency "minitest"
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ describe Lolcommits::Plugin::Loltext do
6
+ include Lolcommits::TestHelpers::FakeIO
7
+
8
+ it "should run on post capturing" do
9
+ _(::Lolcommits::Plugin::Loltext.runner_order).must_equal [ :post_capture ]
10
+ end
11
+
12
+ describe "with a runner" do
13
+ def runner
14
+ # a simple lolcommits runner with an empty configuration Hash
15
+ @runner ||= Lolcommits::Runner.new
16
+ end
17
+
18
+ def plugin
19
+ @plugin ||= Lolcommits::Plugin::Loltext.new(runner: runner)
20
+ end
21
+
22
+ def valid_enabled_config
23
+ { enabled: true }
24
+ end
25
+
26
+ describe "initalizing" do
27
+ it "should assign runner and an enabled option" do
28
+ _(plugin.runner).must_equal runner
29
+ _(plugin.options).must_equal [ :enabled ]
30
+ end
31
+ end
32
+
33
+ describe "#enabled?" do
34
+ it "should be true by default" do
35
+ _(plugin.enabled?).must_equal true
36
+ end
37
+
38
+ it "should true when configured" do
39
+ plugin.configuration = valid_enabled_config
40
+ _(plugin.enabled?).must_equal true
41
+ end
42
+ end
43
+
44
+ describe "configuration" do
45
+ it "should allow plugin options to be configured" do
46
+ # enabled
47
+ inputs = [ "true" ]
48
+
49
+ # styling message and sha
50
+ inputs += %w[
51
+ red
52
+ myfont.ttf
53
+ SE
54
+ 38
55
+ orange
56
+ true
57
+ ] * 2
58
+
59
+ # styling overlay
60
+ inputs += %w[true #2884ae,#7e231f 40]
61
+
62
+ # border options
63
+ inputs += %w[true #e96d46 23]
64
+
65
+ configured_plugin_options = {}
66
+ fake_io_capture(inputs: inputs) do
67
+ configured_plugin_options = plugin.configure_options!
68
+ end
69
+
70
+ _(configured_plugin_options).must_equal({
71
+ enabled: true,
72
+ message: {
73
+ color: "red",
74
+ font: "myfont.ttf",
75
+ position: "SE",
76
+ size: 38,
77
+ stroke_color: "orange",
78
+ uppercase: true
79
+ },
80
+ sha: {
81
+ color: "red",
82
+ font: "myfont.ttf",
83
+ position: "SE",
84
+ size: 38,
85
+ stroke_color: "orange",
86
+ uppercase: true
87
+ },
88
+ overlay: {
89
+ enabled: true,
90
+ overlay_colors: "#2884ae,#7e231f",
91
+ overlay_percent: 40
92
+ },
93
+ border: {
94
+ enabled: true,
95
+ color: "#e96d46",
96
+ size: 23
97
+ }
98
+ })
99
+ end
100
+
101
+ describe "#valid_configuration?" do
102
+ it "should be true even if config is not set" do
103
+ _(plugin.valid_configuration?).must_equal(true)
104
+ end
105
+
106
+ it "should be true for a valid configuration" do
107
+ plugin.configuration = valid_enabled_config
108
+ _(plugin.valid_configuration?).must_equal true
109
+ end
110
+ end
111
+ end
112
+ end
113
+ 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/loltext"
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-loltext
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-20 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
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.17.0
19
+ version: 0.17.2
20
20
  type: :development
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.17.0
26
+ version: 0.17.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -75,36 +75,38 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
- - ".github/workflows/build.yml"
79
- - ".github/workflows/push_gem.yml"
78
+ - ".github/workflows/ci.yml"
80
79
  - ".gitignore"
81
- - ".simplecov"
82
- - ".travis.yml"
80
+ - ".quickhook/pre-commit/ruby-lint"
81
+ - ".rubocop.yml"
83
82
  - CHANGELOG.md
84
83
  - CODE_OF_CONDUCT.md
85
84
  - CONTRIBUTING.md
86
85
  - Gemfile
87
86
  - LICENSE
88
- - PULL_REQUEST_TEMPLATE.md
89
87
  - README.md
90
88
  - Rakefile
91
89
  - bin/console
90
+ - bin/rubocop
92
91
  - bin/setup
93
92
  - lib/lolcommits/loltext.rb
94
93
  - lib/lolcommits/loltext/version.rb
95
94
  - lib/lolcommits/plugin/loltext.rb
96
95
  - lolcommits-loltext.gemspec
96
+ - test/lolcommits/plugin/loltext_test.rb
97
+ - test/test_helper.rb
97
98
  - vendor/fonts/Impact.ttf
98
99
  homepage: https://github.com/lolcommits/lolcommits-loltext
99
100
  licenses:
100
101
  - LGPL-3.0
101
102
  metadata:
102
103
  homepage_uri: https://github.com/lolcommits/lolcommits-loltext
104
+ documentation_uri: https://rubydoc.info/gems/lolcommits-loltext
103
105
  changelog_uri: https://github.com/lolcommits/lolcommits-loltext/blob/master/CHANGELOG.md
104
106
  source_code_uri: https://github.com/lolcommits/lolcommits-loltext
105
107
  bug_tracker_uri: https://github.com/lolcommits/lolcommits-loltext/issues
106
108
  allowed_push_host: https://rubygems.org
107
- post_install_message:
109
+ post_install_message:
108
110
  rdoc_options: []
109
111
  require_paths:
110
112
  - lib
@@ -119,8 +121,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
121
  - !ruby/object:Gem::Version
120
122
  version: '0'
121
123
  requirements: []
122
- rubygems_version: 3.5.16
123
- signing_key:
124
+ rubygems_version: 3.5.22
125
+ signing_key:
124
126
  specification_version: 4
125
127
  summary: lolcommits commit message annotation plugin
126
- test_files: []
128
+ test_files:
129
+ - test/lolcommits/plugin/loltext_test.rb
130
+ - test/test_helper.rb
@@ -1,27 +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: Run tests
27
- 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=8d879fff974ae19930e4c3ae89623aec6a2d86a236a350e5a128360c4142332a
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 to 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.