lolcommits-loltext 0.0.5 → 0.0.6

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
- SHA1:
3
- metadata.gz: f9348cdaa338b881bf19eca6ad2afaae9c94b761
4
- data.tar.gz: 4c90aeb629125bcc2f2eab8bf3f106f779d8ee7f
2
+ SHA256:
3
+ metadata.gz: 7bb994beb14f6500f65e7daa1627799a8dcebae3e0b878ff555acd189c1a0214
4
+ data.tar.gz: 5c9f29f4df2846f487c195d94f206f369e2191bda72ac79e0f50e112d766754e
5
5
  SHA512:
6
- metadata.gz: a104bdf1586ba5a459c47cc5dde0033ff90dea112f4918c02967a695c1b6db087ab1a44c7eadaf3f6c305e466b80a83734c474f8eb0a6b3074dfe20533d83abd
7
- data.tar.gz: b813527f9fb04adbd84873687bfef1f6c5c43dc896307a4334f0196b0adfd46b0d3a19dd4b26806d76bd244110600c116888559e893733ddad1e2fa24e90fefb
6
+ metadata.gz: 55b8edd9835ee27558dfb64a63b5ae54fa651dc7f1b967fbe43e0fcc6e14ad18cc4e72282dbca1a5bc8940403294cb6f774aabb353b531c314fc9f8efab46d48
7
+ data.tar.gz: be8f188a027eda28a1ee3295a3abe8d32b8ce6be4a4077a1d4c9aa9a08277ced7b58e2ba3ccaf659bd82b281e1d43965083e687f8390932820a48bf0f43300aa
data/.travis.yml CHANGED
@@ -3,10 +3,10 @@ language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
5
  - 2.0.0
6
- - 2.1.7
7
- - 2.2.4
8
- - 2.3.3
9
- - 2.4.1
6
+ - 2.1.10
7
+ - 2.2.8
8
+ - 2.3.5
9
+ - 2.4.2
10
10
  - ruby-head
11
11
 
12
12
  before_install:
@@ -19,6 +19,13 @@ matrix:
19
19
  allow_failures:
20
20
  - rvm: ruby-head
21
21
 
22
- branches:
23
- except:
24
- - gh-pages
22
+ env:
23
+ global:
24
+ - CC_TEST_REPORTER_ID=8d879fff974ae19930e4c3ae89623aec6a2d86a236a350e5a128360c4142332a
25
+ - 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)
26
+ before_script:
27
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
28
+ - chmod +x ./cc-test-reporter
29
+ - ./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)
30
+ after_script:
31
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  [![Gem Version](https://img.shields.io/gem/v/lolcommits-loltext.svg?style=flat)](http://rubygems.org/gems/lolcommits-loltext)
4
4
  [![Travis Build Status](https://travis-ci.org/lolcommits/lolcommits-loltext.svg?branch=master)](https://travis-ci.org/lolcommits/lolcommits-loltext)
5
- [![Coverage Status](https://coveralls.io/repos/github/lolcommits/lolcommits-loltext/badge.svg?branch=master)](https://coveralls.io/github/lolcommits/lolcommits-loltext)
6
- [![Code Climate](https://codeclimate.com/github/lolcommits/lolcommits-loltext/badges/gpa.svg)](https://codeclimate.com/github/lolcommits/lolcommits-loltext)
5
+ [![Maintainability](https://img.shields.io/codeclimate/maintainability/lolcommits/lolcommits-loltext.svg)](https://codeclimate.com/github/lolcommits/lolcommits-loltext/maintainability)
6
+ [![Test Coverage](https://img.shields.io/codeclimate/c/lolcommits/lolcommits-loltext.svg)](https://codeclimate.com/github/lolcommits/lolcommits-loltext/test_coverage)
7
7
  [![Gem Dependency Status](https://gemnasium.com/badges/github.com/lolcommits/lolcommits-loltext.svg)](https://gemnasium.com/github.com/lolcommits/lolcommits-loltext)
8
8
 
9
9
  [lolcommits](https://lolcommits.github.io/) takes a snapshot with your webcam
@@ -83,7 +83,7 @@ try the following:
83
83
 
84
84
  ```
85
85
  loltext:
86
- enabled: true
86
+ :enabled: true
87
87
  :message:
88
88
  :color: white
89
89
  :font: "/Users/matt/Library/Fonts/Raleway-Light.ttf"
@@ -159,7 +159,7 @@ The gem is available as open source under the terms of
159
159
  ## Links
160
160
 
161
161
  * [Travis CI](https://travis-ci.org/lolcommits/lolcommits-loltext)
162
- * [Test Coverage](https://coveralls.io/github/lolcommits/lolcommits-loltext)
162
+ * [Test Coverage](https://codeclimate.com/github/lolcommits/lolcommits-loltext/test_coverage)
163
163
  * [Code Climate](https://codeclimate.com/github/lolcommits/lolcommits-loltext)
164
164
  * [RDoc](http://rdoc.info/projects/lolcommits/lolcommits-loltext)
165
165
  * [Issues](http://github.com/lolcommits/lolcommits-loltext/issues)
@@ -1,5 +1,5 @@
1
1
  module Lolcommits
2
2
  module Loltext
3
- VERSION = "0.0.5".freeze
3
+ VERSION = "0.0.6".freeze
4
4
  end
5
5
  end
@@ -8,15 +8,6 @@ module Lolcommits
8
8
  File.dirname(__FILE__), "../../../vendor/fonts/Impact.ttf"
9
9
  ).freeze
10
10
 
11
- ##
12
- # Returns the name of the plugin. Identifies the plugin to lolcommits.
13
- #
14
- # @return [String] the plugin name
15
- #
16
- def self.name
17
- 'loltext'
18
- end
19
-
20
11
  # Returns position(s) of when this plugin should run during the capture
21
12
  # process. We want to add text to the image after capturing, but before
22
13
  # capture is ready for sharing.
@@ -34,7 +25,7 @@ module Lolcommits
34
25
  # @return [Boolean] true/false indicating if plugin is enabled
35
26
  #
36
27
  def enabled?
37
- !configured? || super
28
+ configuration.empty? || super
38
29
  end
39
30
 
40
31
  ##
@@ -46,7 +37,7 @@ module Lolcommits
46
37
  # @return [Boolean] true/false indicating if plugin is correct configured
47
38
  #
48
39
  def valid_configuration?
49
- !configured? || super
40
+ configuration.empty? || super
50
41
  end
51
42
 
52
43
  ##
@@ -55,27 +46,20 @@ module Lolcommits
55
46
  # @return [Hash] a hash of configured plugin options
56
47
  #
57
48
  def configure_options!
58
- options = super
59
- if options['enabled']
60
- puts '---------------------------------------------------------------'
61
- puts ' LolText options '
62
- puts ''
63
- puts ' * any blank options will use the (default)'
64
- puts ' * always use the full absolute path to fonts'
65
- puts ' * valid text positions are NE, NW, SE, SW, S, C (centered)'
66
- puts ' * colors can be hex #FC0 value or a string \'white\''
67
- puts ' - use `none` for no stroke color'
68
- puts ' * overlay fills your image with a random color'
69
- puts ' - set one or more overlay_colors with a comma seperator'
70
- puts ' - overlay_percent (0-100) sets the fill colorize strength'
71
- puts '---------------------------------------------------------------'
72
-
73
- options[:message] = configure_sub_options(:message)
74
- options[:sha] = configure_sub_options(:sha)
75
- options[:overlay] = configure_sub_options(:overlay)
76
- options[:border] = configure_sub_options(:border)
77
- end
78
- options
49
+ puts '---------------------------------------------------------------'
50
+ puts ' LolText options '
51
+ puts ''
52
+ puts ' * any blank options will use the (default)'
53
+ puts ' * always use the full absolute path to fonts'
54
+ puts ' * valid text positions are NE, NW, SE, SW, S, C (centered)'
55
+ puts ' * colors can be hex #FC0 value or a string \'white\''
56
+ puts ' - use `none` for no stroke color'
57
+ puts ' * overlay fills your image with a random color'
58
+ puts ' - set one or more overlay_colors with a comma seperator'
59
+ puts ' - overlay_percent (0-100) sets the fill colorize strength'
60
+ puts '---------------------------------------------------------------'
61
+
62
+ super
79
63
  end
80
64
 
81
65
  ##
@@ -89,7 +73,7 @@ module Lolcommits
89
73
  image = MiniMagick::Image.open(runner.main_image)
90
74
  if config_option(:overlay, :enabled)
91
75
  image.combine_options do |c|
92
- c.fill config_option(:overlay, :overlay_colors).sample
76
+ c.fill config_option(:overlay, :overlay_colors).split(',').map(&:strip).sample
93
77
  c.colorize config_option(:overlay, :overlay_percent)
94
78
  end
95
79
  end
@@ -143,31 +127,8 @@ module Lolcommits
143
127
  end
144
128
  end
145
129
 
146
- # TODO: consider this type of configuration prompting in Plugin::Base
147
- # i.e. allow sub option and working with hash of defaults
148
- def configure_sub_options(type)
149
- print "#{type}:\n"
150
- defaults = config_defaults[type]
151
-
152
- # sort option keys since different `Hash#keys` varys across Ruby versions
153
- defaults.keys.sort_by(&:to_s).reduce({}) do |acc, opt|
154
- # if we have an enabled key set to false, abort asking for any more options
155
- if acc.key?(:enabled) && acc[:enabled] != true
156
- acc
157
- else
158
- print " #{opt.to_s.tr('_', ' ')} (#{defaults[opt]}): "
159
- val = parse_user_input(gets.chomp.strip)
160
- # handle array options (comma seperated string)
161
- if defaults[opt].is_a?(Array) && !val.nil?
162
- val = val.split(',').map(&:strip).delete_if(&:empty?)
163
- end
164
- acc.merge(opt => val)
165
- end
166
- end
167
- end
168
-
169
130
  # default text styling and positions
170
- def config_defaults
131
+ def default_options
171
132
  {
172
133
  message: {
173
134
  color: 'white',
@@ -191,27 +152,17 @@ module Lolcommits
191
152
  '#2e4970', '#674685', '#ca242f', '#1e7882', '#2884ae', '#4ba000',
192
153
  '#187296', '#7e231f', '#017d9f', '#e52d7b', '#0f5eaa', '#e40087',
193
154
  '#5566ac', '#ed8833', '#f8991c', '#408c93', '#ba9109'
194
- ],
155
+ ].join(','),
195
156
  overlay_percent: 50
196
157
  },
197
158
  border: {
198
- color: 'white',
199
159
  enabled: false,
160
+ color: 'white',
200
161
  size: 10,
201
162
  }
202
163
  }
203
164
  end
204
165
 
205
- # return the config option, defaults apply if not set
206
- def config_option(type, option)
207
- default_option = config_defaults[type][option]
208
- if configuration[type]
209
- configuration[type][option] || default_option
210
- else
211
- default_option
212
- end
213
- end
214
-
215
166
  # explode psuedo-names for text positioning
216
167
  def position_transform(position)
217
168
  case position
@@ -35,10 +35,9 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.required_ruby_version = ">= 2.0.0"
37
37
 
38
- spec.add_development_dependency "lolcommits", ">= 0.9.5"
38
+ spec.add_development_dependency "lolcommits", ">= 0.10.0"
39
39
  spec.add_development_dependency "bundler"
40
40
  spec.add_development_dependency "rake"
41
41
  spec.add_development_dependency "minitest"
42
42
  spec.add_development_dependency "simplecov"
43
- spec.add_development_dependency "coveralls"
44
43
  end
@@ -2,17 +2,12 @@ require 'test_helper'
2
2
 
3
3
  describe Lolcommits::Plugin::Loltext do
4
4
 
5
- include Lolcommits::TestHelpers::GitRepo
6
5
  include Lolcommits::TestHelpers::FakeIO
7
6
 
8
7
  def plugin_name
9
8
  'loltext'
10
9
  end
11
10
 
12
- it 'should have a name' do
13
- ::Lolcommits::Plugin::Loltext.name.must_equal plugin_name
14
- end
15
-
16
11
  it 'should run on post capturing' do
17
12
  ::Lolcommits::Plugin::Loltext.runner_order.must_equal [:post_capture]
18
13
  end
@@ -28,9 +23,7 @@ describe Lolcommits::Plugin::Loltext do
28
23
  describe 'with a runner' do
29
24
  def runner
30
25
  # a simple lolcommits runner with an empty configuration Hash
31
- @runner ||= Lolcommits::Runner.new(
32
- config: OpenStruct.new(read_configuration: {})
33
- )
26
+ @runner ||= Lolcommits::Runner.new
34
27
  end
35
28
 
36
29
  def plugin
@@ -38,17 +31,13 @@ describe Lolcommits::Plugin::Loltext do
38
31
  end
39
32
 
40
33
  def valid_enabled_config
41
- @config ||= OpenStruct.new(
42
- read_configuration: {
43
- 'loltext'=> { 'enabled' => true }
44
- }
45
- )
34
+ { enabled: true }
46
35
  end
47
36
 
48
37
  describe 'initalizing' do
49
38
  it 'should assign runner and an enabled option' do
50
39
  plugin.runner.must_equal runner
51
- plugin.options.must_equal ['enabled']
40
+ plugin.options.must_equal [:enabled]
52
41
  end
53
42
  end
54
43
 
@@ -58,16 +47,12 @@ describe Lolcommits::Plugin::Loltext do
58
47
  end
59
48
 
60
49
  it 'should true when configured' do
61
- plugin.config = valid_enabled_config
50
+ plugin.configuration = valid_enabled_config
62
51
  plugin.enabled?.must_equal true
63
52
  end
64
53
  end
65
54
 
66
55
  describe 'configuration' do
67
- it 'should not be configured by default' do
68
- plugin.configured?.must_equal false
69
- end
70
-
71
56
  it 'should allow plugin options to be configured' do
72
57
  # enabled
73
58
  inputs = ['true']
@@ -83,18 +68,18 @@ describe Lolcommits::Plugin::Loltext do
83
68
  ) * 2
84
69
 
85
70
  # styling overlay
86
- inputs += %w(true #2884ae,#7e231f 40)
71
+ inputs += %w(true #2884ae,#7e231f 40)
87
72
 
88
73
  # border options
89
- inputs += %w(#e96d46 true 23)
74
+ inputs += %w(true #e96d46 23)
90
75
 
91
76
  configured_plugin_options = {}
92
- output = fake_io_capture(inputs: inputs) do
77
+ fake_io_capture(inputs: inputs) do
93
78
  configured_plugin_options = plugin.configure_options!
94
79
  end
95
80
 
96
81
  configured_plugin_options.must_equal( {
97
- "enabled" => true,
82
+ enabled: true,
98
83
  message: {
99
84
  color: 'red',
100
85
  font: 'myfont.ttf',
@@ -113,29 +98,24 @@ describe Lolcommits::Plugin::Loltext do
113
98
  },
114
99
  overlay: {
115
100
  enabled: true,
116
- overlay_colors: ['#2884ae', '#7e231f'],
101
+ overlay_colors: "#2884ae,#7e231f",
117
102
  overlay_percent: 40
118
103
  },
119
104
  border: {
120
- color: '#e96d46',
121
105
  enabled: true,
106
+ color: '#e96d46',
122
107
  size: 23,
123
108
  }
124
109
  })
125
110
  end
126
111
 
127
- it 'should indicate when configured' do
128
- plugin.config = valid_enabled_config
129
- plugin.configured?.must_equal true
130
- end
131
-
132
112
  describe '#valid_configuration?' do
133
113
  it 'should be trye even if config is not set' do
134
114
  plugin.valid_configuration?.must_equal(true)
135
115
  end
136
116
 
137
117
  it 'should be true for a valid configuration' do
138
- plugin.config = valid_enabled_config
118
+ plugin.configuration = valid_enabled_config
139
119
  plugin.valid_configuration?.must_equal true
140
120
  end
141
121
  end
data/test/test_helper.rb CHANGED
@@ -11,12 +11,7 @@ require 'lolcommits/test_helpers/git_repo'
11
11
  require 'lolcommits/test_helpers/fake_io'
12
12
 
13
13
  if ENV['COVERAGE']
14
- if ENV['TRAVIS']
15
- require 'coveralls'
16
- Coveralls.wear!
17
- else
18
- require 'simplecov'
19
- end
14
+ require 'simplecov'
20
15
  end
21
16
 
22
17
  # plugin gem test libs
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.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Hutchinson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-21 00:00:00.000000000 Z
11
+ date: 2018-01-11 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.9.5
19
+ version: 0.10.0
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.9.5
26
+ version: 0.10.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: coveralls
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
83
  description: |2
98
84
  Overlay the commit message and sha on your lolcommit. Configure text style,
99
85
  positioning and an optional transparent overlay.
@@ -142,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
128
  version: '0'
143
129
  requirements: []
144
130
  rubyforge_project:
145
- rubygems_version: 2.6.11
131
+ rubygems_version: 2.7.3
146
132
  signing_key:
147
133
  specification_version: 4
148
134
  summary: lolcommits commit message annotation plugin