lolcommits-loltext 0.0.5 → 0.0.6

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
- 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