lolcommits-lolsrv 0.5.0 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d5eb7a731797cfabe3d7f16fa920dd9b08b3b0ee5ec3c6b67aa7cdaa4270005
4
- data.tar.gz: 49c43cc1ddc3ac9153de85cc16c10f09de9295b476d6fa0782512083c9ed959d
3
+ metadata.gz: c7db7b5a140299bdcebf6dcb79213b954c39ce8855a0ebcaeffb64521ce9902e
4
+ data.tar.gz: 3a07525a02d973ec73b0fbda941c9f8df27db756bf1aec0855132a6c017ee276
5
5
  SHA512:
6
- metadata.gz: 15c1edb56209e0eb7e6fb8f17e2a3bdee9ee5af297234b972b38a0d31104bcec2f37626f5a65c962dd12c264dd01bc2b64e4c1723f14575db4e67f90160957ff
7
- data.tar.gz: d2090478125f5f97af6fbad2839e1f0236949dff9347c8a67df1a24c61ee273a522f6a4e9bf1b28958ca5cee8c4cdbeb17f2a35df1eb2d71ba92ce6930b08b1d
6
+ metadata.gz: 1e4d7dba7ca425b5caafa2342c8d4190ee072f1f213e510813ede0009dd0af884c1e760447b908ecebfe2f9f151af8b120575572e9323dcb6b6b00588104e21c
7
+ data.tar.gz: cc2d07992a228bf2d8c5c79dbdb50ef991db4e4172a4d0c957257acd25c4feb51257a45acf3a6c3755cbf67200c87063d8b38706a3658a14434ee072555694d4
@@ -0,0 +1,34 @@
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
@@ -0,0 +1,25 @@
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/.travis.yml CHANGED
@@ -2,10 +2,10 @@ sudo: false
2
2
  language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.4.9
6
- - 2.5.7
7
- - 2.6.5
8
- - 2.7.0
5
+ - 2.5.8
6
+ - 2.6.6
7
+ - 2.7.2
8
+ - 3.0.0
9
9
  - ruby-head
10
10
 
11
11
  before_install:
data/CHANGELOG.md CHANGED
@@ -9,6 +9,10 @@ project adheres to [Semantic Versioning][Semver].
9
9
 
10
10
  - Your contribution here!
11
11
 
12
+ ## [0.6.0] - 2024-28-09
13
+ ### Removed
14
+ - Support for Ruby < 3.1 (older rubies no longer supported)
15
+
12
16
  ## [0.5.0] - 2020-01-24
13
17
  ### Removed
14
18
  - Support for Ruby < 2.4 (older rubies no longer supported)
@@ -80,7 +84,8 @@ project adheres to [Semantic Versioning][Semver].
80
84
  ### Changed
81
85
  - Initial release
82
86
 
83
- [Unreleased]: https://github.com/lolcommits/lolcommits-lolsrv/compare/v0.5.0...HEAD
87
+ [Unreleased]: https://github.com/lolcommits/lolcommits-lolsrv/compare/v0.6.0...HEAD
88
+ [0.6.0]: https://github.com/lolcommits/lolcommits-lolsrv/compare/v0.5.0...v0.6.0
84
89
  [0.5.0]: https://github.com/lolcommits/lolcommits-lolsrv/compare/v0.4.0...v0.5.0
85
90
  [0.4.0]: https://github.com/lolcommits/lolcommits-lolsrv/compare/v0.3.0...v0.4.0
86
91
  [0.3.0]: https://github.com/lolcommits/lolcommits-lolsrv/compare/v0.2.0...v0.3.0
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # Lolcommits Lolsrv
2
2
 
3
+ [![Build](https://img.shields.io/github/actions/workflow/status/lolcommits/lolcommits-lolsrv/build.yml?branch=main&style=flat)](https://github.com/lolcommits/lolcommits-lolsrv/actions/workflows/build.yml)
3
4
  [![Gem](https://img.shields.io/gem/v/lolcommits-lolsrv.svg?style=flat)](http://rubygems.org/gems/lolcommits-lolsrv)
4
- [![Travis](https://img.shields.io/travis/com/lolcommits/lolcommits-lolsrv/master.svg?style=flat)](https://travis-ci.com/lolcommits/lolcommits-lolsrv)
5
5
  [![Depfu](https://img.shields.io/depfu/lolcommits/lolcommits-lolsrv.svg?style=flat)](https://depfu.com/github/lolcommits/lolcommits-lolsrv)
6
- [![Maintainability](https://api.codeclimate.com/v1/badges/309c4d765a49dddebbc9/maintainability)](https://codeclimate.com/github/lolcommits/lolcommits-lolsrv/maintainability)
7
- [![Test Coverage](https://api.codeclimate.com/v1/badges/309c4d765a49dddebbc9/test_coverage)](https://codeclimate.com/github/lolcommits/lolcommits-lolsrv/test_coverage)
8
6
 
9
7
  [lolcommits](https://lolcommits.github.io/) takes a snapshot with your
10
8
  webcam every time you git commit code, and archives a lolcat style image
@@ -36,7 +34,7 @@ The following upload params are `multipart/form-data` encoded:
36
34
 
37
35
  ## Requirements
38
36
 
39
- * Ruby >= 2.4
37
+ * Ruby >= 3.1
40
38
  * A webcam
41
39
  * [ImageMagick](http://www.imagemagick.org)
42
40
  * [ffmpeg](https://www.ffmpeg.org) (optional) for animated gif capturing
@@ -62,8 +60,7 @@ lolcommits will be synced to the remote server. To disable use:
62
60
  ## Development
63
61
 
64
62
  Check out this repo and run `bin/setup`, this will install all
65
- dependencies and generate docs. Run `bundle exec rake` to run all tests
66
- and generate a coverage report.
63
+ dependencies and generate docs. Run `bundle exec rake` to run all tests.
67
64
 
68
65
  You can also run `bin/console` for an interactive prompt that will allow
69
66
  you to experiment with the gem code.
@@ -114,9 +111,7 @@ The gem is available as open source under the terms of
114
111
 
115
112
  ## Links
116
113
 
117
- * [Travis CI](https://travis-ci.com/lolcommits/lolcommits-lolsrv)
118
- * [Code Climate](https://codeclimate.com/github/lolcommits/lolcommits-lolsrv)
119
- * [Test Coverage](https://codeclimate.com/github/lolcommits/lolcommits-lolsrv/coverage)
114
+ * [CI](https://github.com/lolcommits/lolcommits-lolsrv/actions/workflows/build.yml)
120
115
  * [RDoc](http://rdoc.info/projects/lolcommits/lolcommits-lolsrv)
121
116
  * [Issues](http://github.com/lolcommits/lolcommits-lolsrv/issues)
122
117
  * [Report a bug](http://github.com/lolcommits/lolcommits-lolsrv/issues/new)
data/Rakefile CHANGED
@@ -18,14 +18,4 @@ Rake::TestTask.new(:test) do |t|
18
18
  t.test_files = FileList["test/**/*_test.rb"]
19
19
  end
20
20
 
21
- # run tests with code coverage (default)
22
- namespace :test do
23
- desc "Run all tests and features and generate a code coverage report"
24
- task :coverage do
25
- ENV['COVERAGE'] = 'true'
26
- Rake::Task['test'].execute
27
- end
28
- end
29
-
30
-
31
- task :default => ['test:coverage']
21
+ task :default => ['test']
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lolcommits
4
4
  module Lolsrv
5
- VERSION = "0.5.0".freeze
5
+ VERSION = "0.6.0".freeze
6
6
  end
7
7
  end
@@ -32,15 +32,14 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = []
33
33
  spec.require_paths = ["lib"]
34
34
 
35
- spec.required_ruby_version = ">= 2.4"
35
+ spec.required_ruby_version = ">= 3.1"
36
36
 
37
37
  spec.add_runtime_dependency "rest-client", ">= 2.1.0"
38
- spec.add_runtime_dependency "lolcommits", ">= 0.14.2"
38
+ spec.add_runtime_dependency "lolcommits", ">= 0.17.2"
39
39
 
40
40
  spec.add_development_dependency "bundler"
41
41
  spec.add_development_dependency "webmock"
42
- spec.add_development_dependency "pry"
43
42
  spec.add_development_dependency "rake"
43
+ spec.add_development_dependency "ostruct"
44
44
  spec.add_development_dependency "minitest"
45
- spec.add_development_dependency "simplecov"
46
45
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lolcommits-lolsrv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Hutchinson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-24 00:00:00.000000000 Z
11
+ date: 2024-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.14.2
33
+ version: 0.17.2
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: 0.14.2
40
+ version: 0.17.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: pry
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rake
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: minitest
84
+ name: ostruct
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -109,7 +95,7 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: simplecov
98
+ name: minitest
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
@@ -133,6 +119,8 @@ executables: []
133
119
  extensions: []
134
120
  extra_rdoc_files: []
135
121
  files:
122
+ - ".github/workflows/build.yml"
123
+ - ".github/workflows/push_gem.yml"
136
124
  - ".gitignore"
137
125
  - ".simplecov"
138
126
  - ".travis.yml"
@@ -150,10 +138,6 @@ files:
150
138
  - lib/lolcommits/lolsrv/version.rb
151
139
  - lib/lolcommits/plugin/lolsrv.rb
152
140
  - lolcommits-lolsrv.gemspec
153
- - test/images/sha123.jpg
154
- - test/images/sha456.jpg
155
- - test/lolcommits/plugin/lolsrv_test.rb
156
- - test/test_helper.rb
157
141
  homepage: https://github.com/lolcommits/lolcommits-lolsrv
158
142
  licenses:
159
143
  - LGPL-3.0
@@ -171,19 +155,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
155
  requirements:
172
156
  - - ">="
173
157
  - !ruby/object:Gem::Version
174
- version: '2.4'
158
+ version: '3.1'
175
159
  required_rubygems_version: !ruby/object:Gem::Requirement
176
160
  requirements:
177
161
  - - ">="
178
162
  - !ruby/object:Gem::Version
179
163
  version: '0'
180
164
  requirements: []
181
- rubygems_version: 3.1.2
165
+ rubygems_version: 3.5.16
182
166
  signing_key:
183
167
  specification_version: 4
184
168
  summary: Sync lolcommits to a remote server
185
- test_files:
186
- - test/images/sha123.jpg
187
- - test/images/sha456.jpg
188
- - test/lolcommits/plugin/lolsrv_test.rb
189
- - test/test_helper.rb
169
+ test_files: []
Binary file
Binary file
@@ -1,125 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "test_helper"
4
- require 'webmock/minitest'
5
-
6
- describe Lolcommits::Plugin::Lolsrv do
7
-
8
- include Lolcommits::TestHelpers::GitRepo
9
- include Lolcommits::TestHelpers::FakeIO
10
-
11
- describe "with a runner" do
12
- def runner
13
- # a simple lolcommits runner with an empty configuration Hash
14
- @runner ||= Lolcommits::Runner.new(
15
- lolcommit_path: Tempfile.new('lolcommit.jpg'),
16
- config: TestConfiguration.new(OpenStruct.new)
17
- )
18
- end
19
-
20
- def plugin
21
- @plugin ||= Lolcommits::Plugin::Lolsrv.new(runner: runner)
22
- end
23
-
24
- def valid_enabled_config
25
- {
26
- enabled: true,
27
- server: "https://lolsrv.com"
28
- }
29
- end
30
-
31
- describe "#enabled?" do
32
- it "it is disabled by default" do
33
- _(plugin.enabled?).must_equal false
34
- end
35
-
36
- it "is true when configured" do
37
- plugin.configuration = valid_enabled_config
38
- _(plugin.enabled?).must_equal true
39
- end
40
- end
41
-
42
- describe "run_capture_ready" do
43
- before do
44
- commit_repo_with_message
45
- end
46
-
47
- after { teardown_repo }
48
-
49
- it "syncs lolcommits" do
50
- in_repo do
51
- plugin.configuration = valid_enabled_config
52
- existing_sha = "sha123"
53
-
54
- stub_request(:get, "https://lolsrv.com/lols").
55
- to_return(status: 200, body: [{ sha: existing_sha }].to_json)
56
-
57
- stub_request(:post, "https://lolsrv.com/uplol").
58
- to_return(status: 200)
59
-
60
- output = fake_io_capture do
61
- plugin.run_capture_ready(do_fork: false)
62
- end
63
-
64
- assert_equal output, "Syncing lols ... done!\n"
65
- assert_requested :get, "https://lolsrv.com/lols", times: 1
66
- assert_requested :post, "https://lolsrv.com/uplol", times: 1,
67
- headers: {'Content-Type' => /multipart\/form-data/ } do |req|
68
- _(req.body).must_match "sha456"
69
- _(req.body).must_match "plugin-test-repo"
70
- _(req.body).must_match "name=\"lol\"; filename="
71
- end
72
- end
73
- end
74
-
75
- it "shows error and aborts on failed lols endpoint" do
76
- in_repo do
77
- plugin.configuration = valid_enabled_config
78
- stub_request(:get, "https://lolsrv.com/lols").to_return(status: 404)
79
-
80
- output = fake_io_capture do
81
- plugin.run_capture_ready(do_fork: false)
82
- end
83
-
84
- assert_equal output, "Syncing lols ... failed fetching existing lols (try again with --debug)\n"
85
- assert_not_requested :post, "https://lolsrv.com/uplol"
86
- end
87
- end
88
- end
89
-
90
- describe "configuration" do
91
- it "allows plugin options to be configured" do
92
- # enabled and server option
93
- inputs = ["true", "https://my-lolsrv.com"]
94
- configured_plugin_options = {}
95
-
96
- fake_io_capture(inputs: inputs) do
97
- configured_plugin_options = plugin.configure_options!
98
- end
99
-
100
- _(configured_plugin_options).must_equal({
101
- enabled: true,
102
- server: "https://my-lolsrv.com"
103
- })
104
- end
105
-
106
- describe "#valid_configuration?" do
107
- it "returns false for an invalid configuration" do
108
- plugin.configuration = { server: "gibberish" }
109
- _(plugin.valid_configuration?).must_equal false
110
- end
111
-
112
- it "returns true with a valid configuration" do
113
- plugin.configuration = valid_enabled_config
114
- _(plugin.valid_configuration?).must_equal true
115
- end
116
- end
117
- end
118
- end
119
- end
120
-
121
- class TestConfiguration < Lolcommits::Configuration
122
- def loldir
123
- @loldir ||= File.expand_path("#{__dir__}../../../images")
124
- end
125
- end
data/test/test_helper.rb DELETED
@@ -1,21 +0,0 @@
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
- if ENV['COVERAGE']
13
- require 'simplecov'
14
- end
15
-
16
- # plugin gem test libs
17
- require 'lolcommits/lolsrv'
18
- require 'minitest/autorun'
19
-
20
- # swallow all debug output during test runs
21
- def debug(msg); end