lolcommits-uploldz 0.5.0 → 0.6.1

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: bee544c23f02c94fdd7295ce65586d9db2d03801a5ffafd559b21deae86dc372
4
- data.tar.gz: '0682a692c7c699b4ddf2bf7af8f5ce9284d7c22d82c18c3bed0b835666347b94'
3
+ metadata.gz: 9839173622884d12ac7c3f1243af76787ca33081eeb49cb5b67f574b8c6ea308
4
+ data.tar.gz: 7b3153491fd97da4968eb71a7115532426c96775d2c88085eac45cce4a2a30b3
5
5
  SHA512:
6
- metadata.gz: d123d8a27c07ecba9084248c6eb126704c0bb87bb0a5fd28d80cfd7f530864b8b47e0139098e9d1c55c2167004d2b7af7caa6961d7a630ed0713d2849ce9a8bd
7
- data.tar.gz: 9812f778e27c59a72fe1e9b4f941f62e04334d27a8f3d6ef4e1e12cb49197138cf8cb80628442bca18cd8ac562b6b584e713c2a526d85de32b621bcc1f0d3e7d
6
+ metadata.gz: e54aa0308cd1017edc8535e0aa466e620a1c2151c014699a0b5af134542549baccf091673893987604426ca019c753a1792195be1b9a680b68de5adc9694d88e
7
+ data.tar.gz: 86166151ae1810ebd6a21482b0855b4fc34e7eb79cf05a66c75a0e537b09cfd0a4b534c81026cb823637fff6f311cb8ac203f0aed1acd8cfeac6e898af5663ec
@@ -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,15 @@ adheres to [Semantic Versioning][Semver].
9
9
 
10
10
  - Your contribution here!
11
11
 
12
+ ## [0.6.1] - 2024-12-29
13
+ ### Changed
14
+ - Push gems with bundler (not GitHub actions)
15
+ - Updated documentation links
16
+
17
+ ## [0.6.0] - 2024-09-24
18
+ ### Removed
19
+ - Support for Ruby < 3.1 (older rubies no longer supported)
20
+
12
21
  ## [0.5.0] - 2020-01-24
13
22
  ### Removed
14
23
  - Support for Ruby < 2.4 (older rubies no longer supported)
@@ -66,7 +75,9 @@ adheres to [Semantic Versioning][Semver].
66
75
  ### Changed
67
76
  - Initial release
68
77
 
69
- [Unreleased]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.5.0...HEAD
78
+ [Unreleased]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.6.1...HEAD
79
+ [0.6.1]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.6.0...v0.6.1
80
+ [0.6.0]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.5.0...v0.6.0
70
81
  [0.5.0]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.4.0...v0.5.0
71
82
  [0.4.0]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.3.0...v0.4.0
72
83
  [0.3.0]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.2.0...v0.3.0
@@ -78,4 +89,3 @@ adheres to [Semantic Versioning][Semver].
78
89
  [0.0.2]: https://github.com/lolcommits/lolcommits-uploldz/compare/v0.0.1...v0.0.2
79
90
  [0.0.1]: https://github.com/lolcommits/lolcommits-uploldz/compare/11529d5...v0.0.1
80
91
  [KeepAChangelog]: http://keepachangelog.com/en/1.0.0/
81
- [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,18 +1,16 @@
1
1
  # Lolcommits Uploldz
2
2
 
3
+ [![CI](https://img.shields.io/github/actions/workflow/status/lolcommits/lolcommits-uploldz/ci.yml?branch=main&style=flat&label=CI)](https://github.com/lolcommits/lolcommits-uploldz/actions/workflows/ci.yml)
3
4
  [![Gem](https://img.shields.io/gem/v/lolcommits-uploldz.svg?style=flat)](http://rubygems.org/gems/lolcommits-uploldz)
4
- [![Travis](https://img.shields.io/travis/com/lolcommits/lolcommits-uploldz/master.svg?style=flat)](https://travis-ci.com/lolcommits/lolcommits-uploldz)
5
5
  [![Depfu](https://img.shields.io/depfu/lolcommits/lolcommits-uploldz.svg?style=flat)](https://depfu.com/github/lolcommits/lolcommits-uploldz)
6
- [![Maintainability](https://api.codeclimate.com/v1/badges/adb505198ff0e8e8e170/maintainability)](https://codeclimate.com/github/lolcommits/lolcommits-uploldz/maintainability)
7
- [![Test Coverage](https://api.codeclimate.com/v1/badges/adb505198ff0e8e8e170/test_coverage)](https://codeclimate.com/github/lolcommits/lolcommits-uploldz/test_coverage)
8
6
 
9
- [lolcommits](https://lolcommits.github.io/) takes a snapshot with your
10
- webcam every time you git commit code, and archives a lolcat style image
11
- 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!
12
10
 
13
- This plugin uploads each lolcommit to a remote server after capturing.
14
- You configure the plugin by setting a remote endpoint to handle the HTTP
15
- post request. The following params will be sent:
11
+ This plugin uploads each lolcommit to a remote server after capturing. You
12
+ configure the plugin by setting a remote endpoint to handle the HTTP post
13
+ request. The following params will be sent:
16
14
 
17
15
  * `file` - captured lolcommit file
18
16
  * `message` - the commit message
@@ -22,12 +20,11 @@ post request. The following params will be sent:
22
20
  * `author_email` - the commit author email address
23
21
  * `key` - optional key (string) from plugin config
24
22
 
25
- You can also set an optional HTTP Basic Auth header (username and/or
26
- password).
23
+ You can also set an optional HTTP Basic Auth header (username and/or password).
27
24
 
28
25
  ## Requirements
29
26
 
30
- * Ruby >= 2.4
27
+ * Ruby >= 3.1
31
28
  * A webcam
32
29
  * [ImageMagick](http://www.imagemagick.org)
33
30
  * [ffmpeg](https://www.ffmpeg.org) (optional) for animated gif capturing
@@ -45,20 +42,19 @@ Then configure to enable and set the remote endpoint:
45
42
  # set the remote endpoint (must begin with http(s)://)
46
43
  # optionally set a key (sent in params) and/or HTTP Basic Auth credentials
47
44
 
48
- That's it! Provided the endpoint responds correctly, your next lolcommit
49
- will be uploaded to it. To disable use:
45
+ That's it! Provided the endpoint responds correctly, your next lolcommit will be
46
+ uploaded to it. To disable use:
50
47
 
51
48
  $ lolcommits --config -p uploldz
52
49
  # and set enabled to `false`
53
50
 
54
51
  ## Development
55
52
 
56
- Check out this repo and run `bin/setup`, this will install all
57
- dependencies and generate docs. Use `bundle exec rake` to run all tests
58
- and generate a coverage report.
53
+ Check out this repo and run `bin/setup`, this will install all dependencies and
54
+ generate docs. Use `bundle exec rake` to run all tests.
59
55
 
60
- You can also run `bin/console` for an interactive prompt that will allow
61
- you to experiment with the gem code.
56
+ You can also run `bin/console` for an interactive prompt that will allow you to
57
+ experiment with the gem code.
62
58
 
63
59
  ## Tests
64
60
 
@@ -75,27 +71,23 @@ Generate docs for this gem with:
75
71
  ## Troubles?
76
72
 
77
73
  If you think something is broken or missing, please raise a new
78
- [issue](https://github.com/lolcommits/lolcommits-uploldz/issues). Take a
79
- moment to check it hasn't been raised in the past (and possibly closed).
74
+ [issue](https://github.com/lolcommits/lolcommits-uploldz/issues). Take a moment
75
+ to check it hasn't been raised in the past (and possibly closed).
80
76
 
81
77
  ## Contributing
82
78
 
83
- Bug [reports](https://github.com/lolcommits/lolcommits-uploldz/issues)
84
- and [pull
85
- requests](https://github.com/lolcommits/lolcommits-uploldz/pulls) are
86
- welcome on GitHub.
79
+ Bug [reports](https://github.com/lolcommits/lolcommits-uploldz/issues) and [pull
80
+ requests](https://github.com/lolcommits/lolcommits-uploldz/pulls) are welcome on
81
+ GitHub.
87
82
 
88
- When submitting pull requests, remember to add tests covering any new
89
- behaviour, and ensure all tests are passing on [Travis
90
- CI](https://travis-ci.com/lolcommits/lolcommits-uploldz). Read the
91
- [contributing
92
- guidelines](https://github.com/lolcommits/lolcommits-uploldz/blob/master/CONTRIBUTING.md)
83
+ When submitting pull requests, remember to add tests covering any new behaviour,
84
+ and ensure all tests are passing. Read the [contributing
85
+ guidelines](https://github.com/lolcommits/lolcommits-loltext/blob/master/CONTRIBUTING.md)
93
86
  for more details.
94
87
 
95
- This project is intended to be a safe, welcoming space for
96
- collaboration, and contributors are expected to adhere to the
97
- [Contributor Covenant](http://contributor-covenant.org) code of conduct.
98
- See
88
+ This project is intended to be a safe, welcoming space for collaboration, and
89
+ contributors are expected to adhere to the [Contributor
90
+ Covenant](http://contributor-covenant.org) code of conduct. See
99
91
  [here](https://github.com/lolcommits/lolcommits-uploldz/blob/master/CODE_OF_CONDUCT.md)
100
92
  for more details.
101
93
 
@@ -106,10 +98,8 @@ The gem is available as open source under the terms of
106
98
 
107
99
  ## Links
108
100
 
109
- * [Travis CI](https://travis-ci.com/lolcommits/lolcommits-uploldz)
110
- * [Code Climate](https://codeclimate.com/github/lolcommits/lolcommits-uploldz)
111
- * [Test Coverage](https://codeclimate.com/github/lolcommits/lolcommits-uploldz/coverage)
112
- * [RDoc](http://rdoc.info/projects/lolcommits/lolcommits-uploldz)
101
+ * [CI](https://github.com/lolcommits/lolcommits-uploldz/actions/workflows/ci.yml)
102
+ * [RDoc](https://rubydoc.info/gems/lolcommits-uploldz)
113
103
  * [Issues](http://github.com/lolcommits/lolcommits-uploldz/issues)
114
104
  * [Report a bug](http://github.com/lolcommits/lolcommits-uploldz/issues/new)
115
105
  * [Gem](http://rubygems.org/gems/lolcommits-uploldz)
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" ]
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,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rest_client'
4
- require 'base64'
5
- require 'lolcommits/plugin/base'
3
+ require "rest-client"
4
+ require "base64"
5
+ require "lolcommits/plugin/base"
6
6
 
7
7
  module Lolcommits
8
8
  module Plugin
9
9
  class Uploldz < Base
10
-
11
10
  attr_accessor :endpoint
12
11
 
13
12
  ##
@@ -49,6 +48,7 @@ module Lolcommits
49
48
  #
50
49
  def run_capture_ready
51
50
  debug "Posting capture to #{configuration[:endpoint]}"
51
+
52
52
  RestClient.post(
53
53
  configuration[:endpoint],
54
54
  {
@@ -95,7 +95,7 @@ module Lolcommits
95
95
  password = configuration[:optional_http_auth_password]
96
96
  return unless user || password
97
97
 
98
- 'Basic ' + Base64.encode64("#{user}:#{password}").chomp
98
+ "Basic " + Base64.encode64("#{user}:#{password}").chomp
99
99
  end
100
100
  end
101
101
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lolcommits
4
4
  module Uploldz
5
- VERSION = "0.5.0".freeze
5
+ VERSION = "0.6.1".freeze
6
6
  end
7
7
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lolcommits/uploldz/version'
4
- require 'lolcommits/plugin/uploldz'
3
+ require "lolcommits/uploldz/version"
4
+ require "lolcommits/plugin/uploldz"
@@ -5,9 +5,9 @@ require 'lolcommits/uploldz/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "lolcommits-uploldz"
7
7
  spec.version = Lolcommits::Uploldz::VERSION
8
- spec.authors = ["Matthew Hutchinson"]
9
- spec.email = ["matt@hiddenloop.com"]
10
- spec.summary = %q{Uploads lolcommits to a remote server}
8
+ spec.authors = [ "Matthew Hutchinson" ]
9
+ spec.email = [ "matt@hiddenloop.com" ]
10
+ spec.summary = %q(Uploads lolcommits to a remote server)
11
11
  spec.homepage = "https://github.com/lolcommits/lolcommits-uploldz"
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-uploldz",
21
+ "documentation_uri" => "https://rubydoc.info/gems/lolcommits-uploldz",
21
22
  "changelog_uri" => "https://github.com/lolcommits/lolcommits-uploldz/blob/master/CHANGELOG.md",
22
23
  "source_code_uri" => "https://github.com/lolcommits/lolcommits-uploldz",
23
24
  "bug_tracker_uri" => "https://github.com/lolcommits/lolcommits-uploldz/issues",
@@ -28,17 +29,15 @@ 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
- spec.required_ruby_version = ">= 2.4"
34
+ spec.required_ruby_version = ">= 3.1"
34
35
 
35
36
  spec.add_runtime_dependency "rest-client", ">= 2.1.0"
36
- spec.add_runtime_dependency "lolcommits", ">= 0.14.2"
37
+ spec.add_runtime_dependency "lolcommits", ">= 0.17.2"
37
38
 
38
39
  spec.add_development_dependency "bundler"
39
40
  spec.add_development_dependency "webmock"
40
- spec.add_development_dependency "pry"
41
41
  spec.add_development_dependency "rake"
42
42
  spec.add_development_dependency "minitest"
43
- spec.add_development_dependency "simplecov"
44
43
  end
Binary file
@@ -1,121 +1,116 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "test_helper"
4
- require 'webmock/minitest'
5
4
 
6
5
  describe Lolcommits::Plugin::Uploldz do
7
-
8
6
  include Lolcommits::TestHelpers::GitRepo
9
7
  include Lolcommits::TestHelpers::FakeIO
10
8
 
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').path
16
- )
17
- end
9
+ def valid_enabled_config
10
+ {
11
+ enabled: true,
12
+ endpoint: "https://uploldz.com/uplol",
13
+ optional_http_auth_username: "joe",
14
+ optional_http_auth_password: "1234"
15
+ }
16
+ end
18
17
 
19
- def plugin
20
- @plugin ||= Lolcommits::Plugin::Uploldz.new(runner: runner)
18
+ describe "initalizing" do
19
+ it "assigns runner and all plugin options" do
20
+ _(plugin.runner).wont_be_nil
21
+ _(plugin.options).must_equal [
22
+ :enabled,
23
+ :endpoint,
24
+ :optional_key,
25
+ :optional_http_auth_username,
26
+ :optional_http_auth_password
27
+ ]
21
28
  end
29
+ end
22
30
 
23
- def valid_enabled_config
24
- {
25
- enabled: true,
26
- endpoint: "https://uploldz.com/uplol",
27
- optional_http_auth_username: 'joe',
28
- optional_http_auth_password: '1234'
29
- }
31
+ describe "#enabled?" do
32
+ it "is false by default" do
33
+ _(plugin.enabled?).must_equal false
30
34
  end
31
35
 
32
- describe "initalizing" do
33
- it "assigns runner and all plugin options" do
34
- _(plugin.runner).must_equal runner
35
- _(plugin.options).must_equal [
36
- :enabled,
37
- :endpoint,
38
- :optional_key,
39
- :optional_http_auth_username,
40
- :optional_http_auth_password
41
- ]
42
- end
36
+ it "is true when configured" do
37
+ plugin.configuration = valid_enabled_config
38
+ _(plugin.enabled?).must_equal true
43
39
  end
40
+ end
44
41
 
45
- describe "#enabled?" do
46
- it "is false by default" do
47
- _(plugin.enabled?).must_equal false
48
- end
42
+ describe "run_capture_ready" do
43
+ before { commit_repo_with_message("first commit!") }
44
+ after { teardown_repo }
49
45
 
50
- it "is true when configured" do
46
+ it "syncs lolcommits" do
47
+ captured_img_path = File.expand_path("./test/images/lolcommit.jpg")
48
+
49
+ in_repo do
51
50
  plugin.configuration = valid_enabled_config
52
- _(plugin.enabled?).must_equal true
51
+ plugin.runner.lolcommit_path = captured_img_path
52
+
53
+ stub_request(:post, "https://uploldz.com/uplol").to_return(status: 200)
54
+
55
+ plugin.run_capture_ready
56
+
57
+ assert_requested :post, "https://uploldz.com/uplol", times: 1,
58
+ headers: { "Content-Type" => /multipart\/form-data/ } do |req|
59
+ _(req.body).must_match(/Content-Disposition: form-data;.+name="file"; filename="lolcommit.jpg"/)
60
+ _(req.body).must_match 'name="repo"'
61
+ _(req.body).must_match 'name="author_name"'
62
+ _(req.body).must_match 'name="author_email"'
63
+ _(req.body).must_match 'name="sha"'
64
+ _(req.body).must_match 'name="key"'
65
+ _(req.body).must_match "plugin-test-repo"
66
+ _(req.body).must_match "first commit!"
67
+ end
53
68
  end
54
69
  end
70
+ end
55
71
 
56
- describe "run_capture_ready" do
57
- before { commit_repo_with_message("first commit!") }
58
- after { teardown_repo }
59
-
60
- it "syncs lolcommits" do
61
- in_repo do
62
- plugin.configuration = valid_enabled_config
63
-
64
- stub_request(:post, "https://uploldz.com/uplol").to_return(status: 200)
65
-
66
- plugin.run_capture_ready
67
-
68
- assert_requested :post, "https://uploldz.com/uplol", times: 1,
69
- headers: {'Content-Type' => /multipart\/form-data/ } do |req|
70
- _(req.body).must_match(/Content-Disposition: form-data;.+name="file"; filename="lolcommit.jpg.+"/)
71
- _(req.body).must_match 'name="repo"'
72
- _(req.body).must_match 'name="author_name"'
73
- _(req.body).must_match 'name="author_email"'
74
- _(req.body).must_match 'name="sha"'
75
- _(req.body).must_match 'name="key"'
76
- _(req.body).must_match "plugin-test-repo"
77
- _(req.body).must_match "first commit!"
78
- end
79
- end
72
+ describe "configuration" do
73
+ it "allows plugin options to be configured" do
74
+ # enabled, endpoint, key, user, password
75
+ inputs = %w[
76
+ true
77
+ https://my-server.com/uplol
78
+ key-123
79
+ joe
80
+ 1337pass
81
+ ]
82
+ configured_plugin_options = {}
83
+
84
+ fake_io_capture(inputs: inputs) do
85
+ configured_plugin_options = plugin.configure_options!
80
86
  end
81
- end
82
87
 
83
- describe "configuration" do
84
- it "allows plugin options to be configured" do
85
- # enabled, endpoint, key, user, password
86
- inputs = %w(
87
- true
88
- https://my-server.com/uplol
89
- key-123
90
- joe
91
- 1337pass
92
- )
93
- configured_plugin_options = {}
94
-
95
- fake_io_capture(inputs: inputs) do
96
- configured_plugin_options = plugin.configure_options!
97
- end
88
+ _(configured_plugin_options).must_equal({
89
+ enabled: true,
90
+ endpoint: "https://my-server.com/uplol",
91
+ optional_key: "key-123",
92
+ optional_http_auth_username: "joe",
93
+ optional_http_auth_password: "1337pass"
94
+ })
95
+ end
98
96
 
99
- _(configured_plugin_options).must_equal({
100
- enabled: true,
101
- endpoint: "https://my-server.com/uplol",
102
- optional_key: "key-123",
103
- optional_http_auth_username: "joe",
104
- optional_http_auth_password: "1337pass"
105
- })
97
+ describe "#valid_configuration?" do
98
+ it "returns false for an invalid configuration" do
99
+ plugin.configuration = { endpoint: "gibberish" }
100
+ _(plugin.valid_configuration?).must_equal false
106
101
  end
107
102
 
108
- describe "#valid_configuration?" do
109
- it "returns false for an invalid configuration" do
110
- plugin.configuration = { endpoint: "gibberish" }
111
- _(plugin.valid_configuration?).must_equal false
112
- end
113
-
114
- it "returns true with a valid configuration" do
115
- plugin.configuration = valid_enabled_config
116
- _(plugin.valid_configuration?).must_equal true
117
- end
103
+ it "returns true with a valid configuration" do
104
+ plugin.configuration = valid_enabled_config
105
+ _(plugin.valid_configuration?).must_equal true
118
106
  end
119
107
  end
120
108
  end
109
+
110
+ private
111
+ def plugin
112
+ @plugin ||= Lolcommits::Plugin::Uploldz.new(
113
+ runner: Lolcommits::Runner.new
114
+ )
115
+ end
121
116
  end
data/test/test_helper.rb CHANGED
@@ -1,21 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
4
4
 
5
5
  # lolcommits gem
6
- require 'lolcommits'
6
+ require "lolcommits"
7
7
 
8
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
9
+ require "lolcommits/test_helpers/git_repo"
10
+ require "lolcommits/test_helpers/fake_io"
15
11
 
16
12
  # plugin gem test libs
17
- require 'lolcommits/uploldz'
18
- require 'minitest/autorun'
13
+ require "lolcommits/uploldz"
14
+ require "webmock/minitest"
15
+ require "minitest/autorun"
19
16
 
20
17
  # swallow all debug output during test runs
21
18
  def debug(msg); end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lolcommits-uploldz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.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: 2020-01-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: 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
@@ -108,20 +94,6 @@ dependencies:
108
94
  - - ">="
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: simplecov
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
97
  description: |2
126
98
  Uploads lolcommits to a remote server, with optional key or HTTP based
127
99
  authentication.
@@ -131,23 +103,25 @@ executables: []
131
103
  extensions: []
132
104
  extra_rdoc_files: []
133
105
  files:
106
+ - ".github/workflows/ci.yml"
134
107
  - ".gitignore"
135
- - ".simplecov"
136
- - ".travis.yml"
108
+ - ".quickhook/pre-commit/ruby-lint"
109
+ - ".rubocop.yml"
137
110
  - CHANGELOG.md
138
111
  - CODE_OF_CONDUCT.md
139
112
  - CONTRIBUTING.md
140
113
  - Gemfile
141
114
  - LICENSE
142
- - PULL_REQUEST_TEMPLATE.md
143
115
  - README.md
144
116
  - Rakefile
145
117
  - bin/console
118
+ - bin/rubocop
146
119
  - bin/setup
147
120
  - lib/lolcommits/plugin/uploldz.rb
148
121
  - lib/lolcommits/uploldz.rb
149
122
  - lib/lolcommits/uploldz/version.rb
150
123
  - lolcommits-uploldz.gemspec
124
+ - test/images/lolcommit.jpg
151
125
  - test/lolcommits/plugin/uploldz_test.rb
152
126
  - test/test_helper.rb
153
127
  homepage: https://github.com/lolcommits/lolcommits-uploldz
@@ -155,11 +129,12 @@ licenses:
155
129
  - LGPL-3.0
156
130
  metadata:
157
131
  homepage_uri: https://github.com/lolcommits/lolcommits-uploldz
132
+ documentation_uri: https://rubydoc.info/gems/lolcommits-uploldz
158
133
  changelog_uri: https://github.com/lolcommits/lolcommits-uploldz/blob/master/CHANGELOG.md
159
134
  source_code_uri: https://github.com/lolcommits/lolcommits-uploldz
160
135
  bug_tracker_uri: https://github.com/lolcommits/lolcommits-uploldz/issues
161
136
  allowed_push_host: https://rubygems.org
162
- post_install_message:
137
+ post_install_message:
163
138
  rdoc_options: []
164
139
  require_paths:
165
140
  - lib
@@ -167,17 +142,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
142
  requirements:
168
143
  - - ">="
169
144
  - !ruby/object:Gem::Version
170
- version: '2.4'
145
+ version: '3.1'
171
146
  required_rubygems_version: !ruby/object:Gem::Requirement
172
147
  requirements:
173
148
  - - ">="
174
149
  - !ruby/object:Gem::Version
175
150
  version: '0'
176
151
  requirements: []
177
- rubygems_version: 3.1.2
178
- signing_key:
152
+ rubygems_version: 3.5.22
153
+ signing_key:
179
154
  specification_version: 4
180
155
  summary: Uploads lolcommits to a remote server
181
156
  test_files:
157
+ - test/images/lolcommit.jpg
182
158
  - test/lolcommits/plugin/uploldz_test.rb
183
159
  - test/test_helper.rb
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.4.9
6
- - 2.5.7
7
- - 2.6.5
8
- - 2.7.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=a11f4b88e9bad7b922ca0ce5c70e369d1fd704c1b7c08c5b9e273e29a8c73345
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.