lolcommits 0.6.5 → 0.6.6.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +71 -41
- data/CODE_OF_CONDUCT.md +50 -0
- data/bin/console +11 -0
- data/bin/lolcommits +1 -0
- data/features/lolcommits.feature +33 -9
- data/lib/lolcommits/cli/fatals.rb +1 -1
- data/lib/lolcommits/plugins/loltext.rb +65 -23
- data/lib/lolcommits/plugins/uploldz.rb +1 -1
- data/lib/lolcommits/version.rb +1 -1
- data/lolcommits.gemspec +3 -2
- metadata +8 -5
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MDQ3ZGMxZDc3YWU4YWZiNGEwNWI1MmUzN2QyMmMwZGUwMDQwNTFmNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Y2RjNWI5YjgyYTVkN2Q2ZGZjMThjOGE5ZDVhNTYwMzI5MzJhYzE3Mg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTBmMjI4MWUxMWY1MDVkMTM3ZjExMzkwYjQ5NGFhNzI2NzlhOWQ3MmI3NjVl
|
10
|
+
NWE4ZTY3YzMwZDgzYjUzYzZiMmQ1MTFkNDE1OTBmZjMzZTdhYWE0NThkMWYz
|
11
|
+
YzRkOWRjMzViZjU5M2FiZjI3MTI0MWEyZjZjZjllMWFkZjhiYjI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmE5ZDY2YTA0YTkwZjFiZGFjNTllYjQxNjhlY2FiNzNiNmRhODgwMDY3Yjlk
|
14
|
+
ZDc1ZTVkZGNhNzM5ZDQ2NmJiYTM5M2I1MTE4YTAwNDVlOGY0YTc2MTMxNjk0
|
15
|
+
NDc4ODdjZjkyM2EwZmI0ZTE3Y2NhNWFkZTQ4ZDZiNjU4M2UwZGY=
|
data/.rubocop_todo.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,39 +1,49 @@
|
|
1
|
-
###
|
1
|
+
### Lolcommits Change Log
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
All notable changes to this project will be documented in this file. This
|
4
|
+
project adheres to [Semantic Versioning][Semver].
|
5
5
|
|
6
|
-
|
6
|
+
## [Unreleased]
|
7
|
+
|
8
|
+
* WIP - extract plugins to separate gems ...
|
9
|
+
* Your contribution here!
|
10
|
+
|
11
|
+
## [0.6.6][] (1 June 2016)
|
12
|
+
* Show error/exit when --config outside a git repo (@matthutchinson #308)
|
13
|
+
* Add more options to loltext plugin (@ruxton #304)
|
14
|
+
* Added CODE_OF_CONDUCT.md to repo (@matthutchinson)
|
15
|
+
|
16
|
+
## [0.6.5][] (12 April 2016)
|
7
17
|
* Add mercurial support (@tak #301 #302 #303)
|
8
18
|
|
9
|
-
0.6.4 (15 March 2016)
|
19
|
+
## [0.6.4][] (15 March 2016)
|
10
20
|
* Add quotes to correctly handle paths with spaces (@matthutchinson #298)
|
11
21
|
|
12
|
-
0.6.3 (14 March 2016)
|
22
|
+
## [0.6.3][] (14 March 2016)
|
13
23
|
* Add quotes to correctly handle paths with spaces (@pedrocunha #296)
|
14
24
|
* Added plugin config path to output (@KrauseFx #294)
|
15
25
|
|
16
|
-
0.6.2 (21 February 2016)
|
26
|
+
## [0.6.2][] (21 February 2016)
|
17
27
|
* Avoid invoking ruby if in a rebase (@jhawthorn #286)
|
18
28
|
* Slow gif problem on mac (@a06kin #289)
|
19
29
|
* Peg RuboCop gem to 0.37.2 and fix cop issues (@matthutchinson #292)
|
20
30
|
|
21
|
-
0.6.1 (16 September 2015)
|
31
|
+
## [0.6.1][] (16 September 2015)
|
22
32
|
* Optional http auth header user/password in uploldz plugin (@felixroos #283)
|
23
33
|
* Slack plugin added (@yasakbulut #284)
|
24
34
|
* Updated rubies in Travis settings (@matthutchinson)
|
25
35
|
* Fixed README badge URLS (@matthutchinson)
|
26
36
|
|
27
|
-
0.6.0 (27 July 2015)
|
37
|
+
## [0.6.0][] (27 July 2015)
|
28
38
|
* Configurable text options for loltext plugin (@matthutchinson #282)
|
29
39
|
* Working AppVeyor configuration added (@nysthee #280)
|
30
40
|
* Tumblr plugin (@mveytsman #279)
|
31
41
|
* CHANGELOG (this file) now in markdown format (@matthutchinson)
|
32
42
|
|
33
|
-
0.5.9 (24 April 2015)
|
43
|
+
## [0.5.9][] (24 April 2015)
|
34
44
|
* Fix windows post commit hook path (@matthutchinson #278)
|
35
45
|
|
36
|
-
0.5.8 (22 April 2015)
|
46
|
+
## [0.5.8][] (22 April 2015)
|
37
47
|
* Fix Windows MiniMagick issue (@matthutchinson #276)
|
38
48
|
* Rubocop code clean ups (@nysthee #272)
|
39
49
|
* Fix gem issues on earlier Ruby versions (#270)
|
@@ -44,14 +54,14 @@
|
|
44
54
|
* lol_protonet plugin added (@salzig #251)
|
45
55
|
* Allow local plugins in $LOLCOMMITS_DIR/.plugins (@salzig #250)
|
46
56
|
|
47
|
-
0.5.7 (28 December 2014)
|
57
|
+
## [0.5.7][] (28 December 2014)
|
48
58
|
* Uploldz plugin sends more post params (@clops #224 @matthutchinson #241)
|
49
59
|
* More configurable twitter plugin (@woodrowbarlow #207 @matthutchinson)
|
50
60
|
* Upgrade all gems that can be, 4 held back (#244 @matthutchinson)
|
51
61
|
* Ruby 2.2.0 compatible (#244 @matthutchinson)
|
52
62
|
* Glob /dev/video for default video device (linux only) (#246 @Ferada)
|
53
63
|
|
54
|
-
0.5.6 (24 November 2014)
|
64
|
+
## [0.5.6][] (24 November 2014)
|
55
65
|
* Updates and clean ups on the gemspec (@mroth #228)
|
56
66
|
* Travis CI now includes ruby-head (@mroth #229)
|
57
67
|
* Improved error message for ImageMagick issues #159 (@matthutchinson #233)
|
@@ -62,7 +72,7 @@
|
|
62
72
|
* Better failover when no snapshot created (@matthutchinson #237)
|
63
73
|
* Export LANG to post-commit hook, fixes GitHub client (@matthutchinson #240)
|
64
74
|
|
65
|
-
0.5.5 (29 September 2014)
|
75
|
+
## [0.5.5][] (29 September 2014)
|
66
76
|
* Animated gif capture support (@theY4Kman #226)
|
67
77
|
* Fix plugin config issues with user input (@matthutchinson #225 #223)
|
68
78
|
* Fix Linux FPS timing issues (@matthutchinson #215)
|
@@ -72,14 +82,14 @@
|
|
72
82
|
* Explain global Git hooks how-to in README (@matthutchinson #212 #112)
|
73
83
|
* Minor improvments to Linux Capturer (@matthutchinson)
|
74
84
|
|
75
|
-
0.5.4 (13 April 2014)
|
85
|
+
## [0.5.4][] (13 April 2014)
|
76
86
|
* Excluded vendor/bundle from rubocop cops (@matthutchinson)
|
77
87
|
* Peg fivemat gem to ~> 1.2.1 (@mroth)
|
78
88
|
* Fix lolsrv log file issue (@matthutchinson #202)
|
79
89
|
* Yammer Plugin added (@mrclmvn #160)
|
80
90
|
* Refactor on capture options (@mroth)
|
81
91
|
|
82
|
-
0.5.3 (30 March 2014)
|
92
|
+
## [0.5.3][] (30 March 2014)
|
83
93
|
* Fixed permissions on CommandCam (755) for cygwin (@matthutchinson)
|
84
94
|
* Added `--devices` option, mac only for now (@matthutchinson #183, #174)
|
85
95
|
* Replace http with https in twitter plugin (@kleinschmidt #195)
|
@@ -90,7 +100,7 @@
|
|
90
100
|
* Added --version (-v) flag (@bfontaine #184)
|
91
101
|
* Send more VCS details to lolsrv (@drewwells #181)
|
92
102
|
|
93
|
-
0.5.2 (5 December 2013)
|
103
|
+
## [0.5.2][] (5 December 2013)
|
94
104
|
* Allow lolsrv plugin to sync/upload gifs (@matthutchinson #180)
|
95
105
|
* Plugins refactor, can now configure themselves (@matthutchinson #179)
|
96
106
|
- also closes issue #136 and issue #73
|
@@ -103,14 +113,14 @@
|
|
103
113
|
* Improved --enable option, accepts passing arguments (@matthutchinson #154)
|
104
114
|
- README updated to explain enabling with options
|
105
115
|
|
106
|
-
0.5.1 (13 November 2013)
|
116
|
+
## [0.5.1][] (13 November 2013)
|
107
117
|
* Fix JSON gem issue #163 (@matthutchinson, #171)
|
108
118
|
* Enable image capture under Cygwin (@cwc, #105)
|
109
119
|
* Add Ruby PATH to post-commit hook (@matthutchinson, #155)
|
110
120
|
* "Stealth mode" where no notification is given (@sionide21, #156)
|
111
121
|
* BUGFIX: comparison error for animate (@Yabes, #151)
|
112
122
|
|
113
|
-
0.5.0 (10 September 2013)
|
123
|
+
## [0.5.0][] (10 September 2013)
|
114
124
|
* better handling of LOLCOMMITS_DELAY (thx @leewillis77, #125)
|
115
125
|
* LOLCOMMITS_DEVICE support on Linux (thx @EbenezerEdelman, #139)
|
116
126
|
* better handling of repository names (thx @drocamor and @andromedado, #145 and #146)
|
@@ -120,27 +130,27 @@
|
|
120
130
|
- feature requires ffmpeg
|
121
131
|
- README updated with details and an example
|
122
132
|
|
123
|
-
0.4.6 (12 August 2013)
|
133
|
+
## 0.4.6 (12 August 2013)
|
124
134
|
* Fix for incorrect permissioning in gem issue (see #112)
|
125
135
|
|
126
|
-
0.4.5 (8 July 2013)
|
136
|
+
## 0.4.5 (8 July 2013)
|
127
137
|
* disable&remove statsd plugin (as per #94)
|
128
138
|
* fix issues with animated gif generation (#107)
|
129
139
|
* added new LOLCOMMITS_FORK (or --fork) option to fork the runner capturing (#109)
|
130
140
|
|
131
|
-
0.4.4 (28 June 2013)
|
141
|
+
## 0.4.4 (28 June 2013)
|
132
142
|
* add -g option to produce animated gifs! (thx @hSATAC, #95)
|
133
143
|
|
134
|
-
0.4.3 (29 March 2013)
|
144
|
+
## 0.4.3 (29 March 2013)
|
135
145
|
* bump mini_magick dependency to deal with security alert
|
136
146
|
|
137
|
-
0.4.2 (11 March 2013)
|
147
|
+
## 0.4.2 (11 March 2013)
|
138
148
|
* fix ruby 2.0 compatibility (#91)
|
139
149
|
* gracefully detect upstream issue with git color.ui being set to always (#50)
|
140
150
|
* handle external capture devices with special characters in name (#93)
|
141
151
|
* fixes to the uploldz plugin (#92)
|
142
152
|
|
143
|
-
0.4.1 (17 February 2013)
|
153
|
+
## 0.4.1 (17 February 2013)
|
144
154
|
* add lolsrv plugin (thx @sebastianmarr!, #82)
|
145
155
|
* enable feature to change font (thx @fukayatsu!, #89)
|
146
156
|
* correct activesupport gem name in bundle (thx @djbender!, #90)
|
@@ -148,7 +158,7 @@
|
|
148
158
|
* restructure logging slightly to use Methadone::CLILogging in most places
|
149
159
|
* add a bunch of debugging output, viewable via --debug flag
|
150
160
|
|
151
|
-
0.4.0 (13 January 2013)
|
161
|
+
## 0.4.0 (13 January 2013)
|
152
162
|
* Switch the main ImageMagick wrapper from RMagick to mini_magick
|
153
163
|
- fix for RMagick not working with ImageMagick 6.8+ and generally
|
154
164
|
being a buggy unmaintained piece of crap
|
@@ -158,40 +168,40 @@
|
|
158
168
|
* make sure quotes are properly handled in commit messages
|
159
169
|
* silence warnings generated by twitter gem in MRI 1.8.7
|
160
170
|
|
161
|
-
0.3.4 (27 December 2012)
|
171
|
+
## 0.3.4 (27 December 2012)
|
162
172
|
* Add uploldz plugin for posting to a remote server (thx @cnvandev)
|
163
173
|
|
164
|
-
0.3.3 (26 November 2012)
|
174
|
+
## 0.3.3 (26 November 2012)
|
165
175
|
* BUG: prevent repeated firing of lolcommits capture during a git rebase.
|
166
176
|
|
167
|
-
0.3.2 (3 October 2012)
|
177
|
+
## 0.3.2 (3 October 2012)
|
168
178
|
* Twitter posting support via the `twitter` plugin! (thx @coyboyrushforth!)
|
169
179
|
|
170
|
-
0.3.1 (5 August 2012)
|
180
|
+
## 0.3.1 (5 August 2012)
|
171
181
|
* fix regression with linux capture introduced in previous version
|
172
182
|
|
173
|
-
0.3.0 (3 August 2012)
|
183
|
+
## 0.3.0 (3 August 2012)
|
174
184
|
* fix bug involving git repositories with spaces in the name
|
175
185
|
* internal refactoring for modularity (thanks @kenmazaika!), should be easier
|
176
186
|
to add new plugin features to lolcommits now.
|
177
187
|
* add some extremely basic anonymous usage tracking (if this bugs you, you
|
178
188
|
can disable via disabling the `statsd` plugin).
|
179
189
|
|
180
|
-
0.2.0 (6 July 2012)
|
190
|
+
## 0.2.0 (6 July 2012)
|
181
191
|
* improved build system and testing with cucumber/methadone
|
182
192
|
- goal is to get into a better framework to start doing major feature work
|
183
193
|
- this should lead to increased reliability across systems as we refactor
|
184
194
|
* writing tests (please help!)
|
185
195
|
* fix issues with packaged files not being readable after a sudo gem install
|
186
196
|
|
187
|
-
0.1.5 (25 June 2012)
|
197
|
+
## 0.1.5 (25 June 2012)
|
188
198
|
* fix tranzlate on ruby1.8
|
189
199
|
|
190
|
-
0.1.4 (28 May 2012)
|
200
|
+
## 0.1.4 (28 May 2012)
|
191
201
|
* set device on mac via --device (or LOLCOMMITS_DEVICE env variable) --
|
192
202
|
thanks @pioz (pull #51)
|
193
203
|
|
194
|
-
0.1.3 (18 May 2012)
|
204
|
+
## 0.1.3 (18 May 2012)
|
195
205
|
* add LGPLv3 license
|
196
206
|
* add option to translate your commit message to lolspeak! (thx
|
197
207
|
to @DanielleSucher!). To enable, set `LOLCOMMITS_TRANZLATE=1`.
|
@@ -199,30 +209,50 @@
|
|
199
209
|
* fix issue with git repos with no hooks directory (pull #43 via @mkmaster)
|
200
210
|
* fix missing dash in capture -c
|
201
211
|
|
202
|
-
0.1.2 (22 April 2012)
|
212
|
+
## 0.1.2 (22 April 2012)
|
203
213
|
* provide licensing info for CommandCam (Windows)
|
204
214
|
* bundle imagesnap as well to remove a dependency on Mac OS X
|
205
215
|
|
206
|
-
0.1.1 (21 April 2012)
|
216
|
+
## 0.1.1 (21 April 2012)
|
207
217
|
* Windows compatibility! Thanks to @Prydonious.
|
208
218
|
|
209
|
-
0.1.0 (19 April 2012)
|
219
|
+
## 0.1.0 (19 April 2012)
|
210
220
|
* Linux compatibility! Thanks to @madjar, @cscorely, and @Prydonius.
|
211
221
|
|
212
|
-
0.0.3 (16 April 2012)
|
222
|
+
## 0.0.3 (16 April 2012)
|
213
223
|
* use only first line for multi-line commit msgs (pull req #21)
|
214
224
|
* clean up some command line options
|
215
225
|
|
216
|
-
0.0.2 (2 April 2012)
|
226
|
+
## 0.0.2 (2 April 2012)
|
217
227
|
* add --delay option to delay image capture (thx JohanB), can be
|
218
228
|
persistently set via LOLCOMMITS_DELAY environment variable.
|
219
229
|
* add --last command to view most recent lolcommit for a repo
|
220
230
|
* add --browse command to open the lolcommit images directory for a particular repo
|
221
231
|
|
222
|
-
0.0.1 (29 March 2012)
|
232
|
+
## 0.0.1 (29 March 2012)
|
223
233
|
* initial release as a gem package, major refactoring for this
|
224
234
|
* refactored to remove git-hooks package dependency, now installs stub hook
|
225
235
|
directly into each git repo
|
226
236
|
* wordwrap commit_msg manually, to switch to use imagemagick annotate
|
227
237
|
instead of compositing multiply image Caption objects (this seems to be more
|
228
238
|
reliable to not glitch.)
|
239
|
+
|
240
|
+
[Unreleased]: https://github.com/mroth/lolcommits/compare/v0.6.6...HEAD
|
241
|
+
[0.6.6]: https://github.com/mroth/lolcommits/compare/v0.6.5...v0.6.6
|
242
|
+
[0.6.5]: https://github.com/mroth/lolcommits/compare/v0.6.4...v0.6.5
|
243
|
+
[0.6.4]: https://github.com/mroth/lolcommits/compare/v0.6.3...v0.6.4
|
244
|
+
[0.6.3]: https://github.com/mroth/lolcommits/compare/v0.6.2...v0.6.3
|
245
|
+
[0.6.2]: https://github.com/mroth/lolcommits/compare/v0.6.1...v0.6.2
|
246
|
+
[0.6.1]: https://github.com/mroth/lolcommits/compare/v0.6.0...v0.6.1
|
247
|
+
[0.6.0]: https://github.com/mroth/lolcommits/compare/v0.5.9...v0.6.0
|
248
|
+
[0.5.9]: https://github.com/mroth/lolcommits/compare/v0.5.8...v0.5.9
|
249
|
+
[0.5.8]: https://github.com/mroth/lolcommits/compare/v0.5.7...v0.5.8
|
250
|
+
[0.5.7]: https://github.com/mroth/lolcommits/compare/v0.5.6...v0.5.7
|
251
|
+
[0.5.6]: https://github.com/mroth/lolcommits/compare/v0.5.5...v0.5.6
|
252
|
+
[0.5.5]: https://github.com/mroth/lolcommits/compare/v0.5.4...v0.5.5
|
253
|
+
[0.5.4]: https://github.com/mroth/lolcommits/compare/v0.5.3...v0.5.4
|
254
|
+
[0.5.3]: https://github.com/mroth/lolcommits/compare/v0.5.2...v0.5.3
|
255
|
+
[0.5.2]: https://github.com/mroth/lolcommits/compare/v0.5.1...v0.5.2
|
256
|
+
[0.5.1]: https://github.com/mroth/lolcommits/compare/v0.5.0...v0.5.1
|
257
|
+
[0.5.0]: https://github.com/mroth/lolcommits/compare/v0.4.9...v0.5.0
|
258
|
+
[Semver]: http://semver.org
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, and in the interest of
|
4
|
+
fostering an open and welcoming community, we pledge to respect all people who
|
5
|
+
contribute through reporting issues, posting feature requests, updating
|
6
|
+
documentation, submitting pull requests or patches, and other activities.
|
7
|
+
|
8
|
+
We are committed to making participation in this project a harassment-free
|
9
|
+
experience for everyone, regardless of level of experience, gender, gender
|
10
|
+
identity and expression, sexual orientation, disability, personal appearance,
|
11
|
+
body size, race, ethnicity, age, religion, or nationality.
|
12
|
+
|
13
|
+
Examples of unacceptable behavior by participants include:
|
14
|
+
|
15
|
+
* The use of sexualized language or imagery
|
16
|
+
* Personal attacks
|
17
|
+
* Trolling or insulting/derogatory comments
|
18
|
+
* Public or private harassment
|
19
|
+
* Publishing other's private information, such as physical or electronic
|
20
|
+
addresses, without explicit permission
|
21
|
+
* Other unethical or unprofessional conduct
|
22
|
+
|
23
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
24
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
25
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
26
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
27
|
+
threatening, offensive, or harmful.
|
28
|
+
|
29
|
+
By adopting this Code of Conduct, project maintainers commit themselves to
|
30
|
+
fairly and consistently applying these principles to every aspect of managing
|
31
|
+
this project. Project maintainers who do not follow or enforce the Code of
|
32
|
+
Conduct may be permanently removed from the project team.
|
33
|
+
|
34
|
+
This code of conduct applies both within project spaces and in public spaces
|
35
|
+
when an individual is representing the project or its community.
|
36
|
+
|
37
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
38
|
+
reported by contacting a project maintainer via [GitHub][maintainer]. All
|
39
|
+
complaints will be reviewed and investigated and will result in a response that
|
40
|
+
is deemed necessary and appropriate to the circumstances. Maintainers are
|
41
|
+
obligated to maintain confidentiality with regard to the reporter of an
|
42
|
+
incident.
|
43
|
+
|
44
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
45
|
+
version 1.3.0, available at
|
46
|
+
[http://contributor-covenant.org/version/1/3/0/][version]
|
47
|
+
|
48
|
+
[maintainer]: https://github.com/matthutchinson
|
49
|
+
[homepage]: http://contributor-covenant.org
|
50
|
+
[version]: http://contributor-covenant.org/version/1/3/0/
|
data/bin/console
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'lolcommits'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# start irb
|
10
|
+
require 'irb'
|
11
|
+
IRB.start
|
data/bin/lolcommits
CHANGED
data/features/lolcommits.feature
CHANGED
@@ -121,22 +121,32 @@ Feature: Basic UI functionality
|
|
121
121
|
Then I type "loltext"
|
122
122
|
And I wait for output to contain "enabled:"
|
123
123
|
Then I type "true"
|
124
|
+
And I wait for output to contain "message:"
|
124
125
|
And I wait for output to contain "color"
|
125
126
|
Then I type "red"
|
126
127
|
And I wait for output to contain "font"
|
127
128
|
Then I type "my-font.ttf"
|
128
129
|
And I wait for output to contain "position"
|
129
|
-
Then I type "
|
130
|
+
Then I type "SE"
|
130
131
|
And I wait for output to contain "size"
|
131
132
|
Then I type "32"
|
132
133
|
And I wait for output to contain "stroke color"
|
133
134
|
Then I type "white"
|
134
|
-
And I wait for output to contain "
|
135
|
+
And I wait for output to contain "uppercase"
|
136
|
+
Then I type "true"
|
137
|
+
And I wait for output to contain "sha"
|
138
|
+
Then I type ""
|
135
139
|
Then I type ""
|
136
140
|
Then I type ""
|
137
141
|
Then I type ""
|
138
142
|
Then I type ""
|
139
143
|
Then I type ""
|
144
|
+
And I wait for output to contain "overlay:"
|
145
|
+
Then I type "true"
|
146
|
+
And I wait for output to contain "overlay colors"
|
147
|
+
Then I type "#2884ae,#7e231f"
|
148
|
+
And I wait for output to contain "overlay percent"
|
149
|
+
Then I type "40"
|
140
150
|
Then the output should contain "Successfully configured plugin: loltext"
|
141
151
|
And the output should contain a list of plugins
|
142
152
|
And a file named "~/.lolcommits/config-test/config.yml" should exist
|
@@ -144,9 +154,13 @@ Feature: Basic UI functionality
|
|
144
154
|
Then the output should match /enabled: true/
|
145
155
|
And the output should match /:font: my-font\.ttf/
|
146
156
|
And the output should match /:size: 32/
|
147
|
-
And the output should match /:position:
|
157
|
+
And the output should match /:position: S/
|
148
158
|
And the output should match /:color: red/
|
149
159
|
And the output should match /:stroke_color: white/
|
160
|
+
And the output should match /:uppercase: true/
|
161
|
+
And the output should match /:overlay:.*\n.*:enabled: true/
|
162
|
+
And the output should match /:overlay_colors:.*\n.*['"]#2884ae['"].*\n.*['"]#7e231f['"].*\n/
|
163
|
+
And the output should match /:overlay_percent: 40/
|
150
164
|
|
151
165
|
Scenario: Configuring loltext plugin in test mode affects test loldir not repo loldir
|
152
166
|
Given I am in a git repo named "testmode-config-test"
|
@@ -185,7 +199,7 @@ Feature: Basic UI functionality
|
|
185
199
|
When I run `lolcommits --last`
|
186
200
|
Then the output should not contain:
|
187
201
|
"""
|
188
|
-
|
202
|
+
You don't appear to be in a directory of a supported vcs project.
|
189
203
|
"""
|
190
204
|
And the exit status should be 0
|
191
205
|
|
@@ -195,7 +209,17 @@ Feature: Basic UI functionality
|
|
195
209
|
When I run `lolcommits --last`
|
196
210
|
Then the output should contain:
|
197
211
|
"""
|
198
|
-
|
212
|
+
You don't appear to be in a directory of a supported vcs project.
|
213
|
+
"""
|
214
|
+
And the exit status should be 1
|
215
|
+
|
216
|
+
@in-tempdir
|
217
|
+
Scenario: Configuring loltext plugin if not in a lolrepo
|
218
|
+
Given I am in a directory named "gitsuxcvs4eva"
|
219
|
+
When I run `lolcommits --config`
|
220
|
+
Then the output should contain:
|
221
|
+
"""
|
222
|
+
You don't appear to be in a directory of a supported vcs project.
|
199
223
|
"""
|
200
224
|
And the exit status should be 1
|
201
225
|
|
@@ -223,7 +247,7 @@ Feature: Basic UI functionality
|
|
223
247
|
When I run `lolcommits --browse`
|
224
248
|
Then the output should not contain:
|
225
249
|
"""
|
226
|
-
|
250
|
+
You don't appear to be in a directory of a supported vcs project.
|
227
251
|
"""
|
228
252
|
And the exit status should be 0
|
229
253
|
|
@@ -233,7 +257,7 @@ Feature: Basic UI functionality
|
|
233
257
|
When I run `lolcommits --browse`
|
234
258
|
Then the output should contain:
|
235
259
|
"""
|
236
|
-
|
260
|
+
You don't appear to be in a directory of a supported vcs project.
|
237
261
|
"""
|
238
262
|
And the exit status should be 1
|
239
263
|
|
@@ -347,7 +371,7 @@ Feature: Basic UI functionality
|
|
347
371
|
When I run `lolcommits --last`
|
348
372
|
Then the output should not contain:
|
349
373
|
"""
|
350
|
-
|
374
|
+
You don't appear to be in a directory of a supported vcs project.
|
351
375
|
"""
|
352
376
|
And the exit status should be 0
|
353
377
|
|
@@ -365,7 +389,7 @@ Feature: Basic UI functionality
|
|
365
389
|
When I run `lolcommits --browse`
|
366
390
|
Then the output should not contain:
|
367
391
|
"""
|
368
|
-
|
392
|
+
You don't appear to be in a directory of a supported vcs project.
|
369
393
|
"""
|
370
394
|
And the exit status should be 0
|
371
395
|
|
@@ -15,6 +15,13 @@ module Lolcommits
|
|
15
15
|
def run_postcapture
|
16
16
|
debug 'Annotating image via MiniMagick'
|
17
17
|
image = MiniMagick::Image.open(runner.main_image)
|
18
|
+
if config_option(:overlay, :enabled)
|
19
|
+
image.combine_options do |c|
|
20
|
+
c.fill config_option(:overlay, :overlay_colors).sample
|
21
|
+
c.colorize config_option(:overlay, :overlay_percent)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
18
25
|
annotate(image, :message, clean_msg(runner.message))
|
19
26
|
annotate(image, :sha, runner.sha)
|
20
27
|
debug "Writing changed file to #{runner.main_image}"
|
@@ -22,17 +29,25 @@ module Lolcommits
|
|
22
29
|
end
|
23
30
|
|
24
31
|
def annotate(image, type, string)
|
25
|
-
debug("annotating #{type}
|
32
|
+
debug("annotating #{type} to image with #{string}")
|
33
|
+
|
34
|
+
transformed_position = position_transform(config_option(type, :position))
|
35
|
+
annotate_location = '0'
|
36
|
+
if transformed_position == 'South'
|
37
|
+
annotate_location = '+0+20' # Move South gravity off the edge of the image.
|
38
|
+
end
|
39
|
+
|
40
|
+
string.upcase! if config_option(type, :uppercase)
|
26
41
|
|
27
42
|
image.combine_options do |c|
|
28
|
-
c.strokewidth '2'
|
29
|
-
c.interline_spacing
|
43
|
+
c.strokewidth runner.animate? ? '1' : '2'
|
44
|
+
c.interline_spacing(-(config_option(type, :size) / 5))
|
30
45
|
c.stroke config_option(type, :stroke_color)
|
31
46
|
c.fill config_option(type, :color)
|
32
|
-
c.gravity
|
33
|
-
c.pointsize runner.animate? ?
|
47
|
+
c.gravity transformed_position
|
48
|
+
c.pointsize runner.animate? ? (config_option(type, :size) / 2) : config_option(type, :size)
|
34
49
|
c.font config_option(type, :font)
|
35
|
-
c.annotate
|
50
|
+
c.annotate annotate_location, string
|
36
51
|
end
|
37
52
|
end
|
38
53
|
|
@@ -40,17 +55,22 @@ module Lolcommits
|
|
40
55
|
options = super
|
41
56
|
# ask user to configure text options when enabling
|
42
57
|
if options['enabled']
|
43
|
-
puts '
|
44
|
-
puts '
|
45
|
-
puts
|
46
|
-
puts ' * blank options use the (default)'
|
47
|
-
puts ' * use full absolute path to fonts'
|
48
|
-
puts ' * valid positions are NE, NW, SE, SW, C (centered)'
|
58
|
+
puts '---------------------------------------------------------------'
|
59
|
+
puts ' LolText options '
|
60
|
+
puts ''
|
61
|
+
puts ' * any blank options will use the (default)'
|
62
|
+
puts ' * always use the full absolute path to fonts'
|
63
|
+
puts ' * valid text positions are NE, NW, SE, SW, S, C (centered)'
|
49
64
|
puts ' * colors can be hex #FC0 value or a string \'white\''
|
50
|
-
puts '
|
65
|
+
puts ' - use `none` for no stroke color'
|
66
|
+
puts ' * overlay fills your image with a random color'
|
67
|
+
puts ' - set one or more overlay_colors with a comma seperator'
|
68
|
+
puts ' - overlay_percent (0-100) sets the fill colorize strength'
|
69
|
+
puts '---------------------------------------------------------------'
|
51
70
|
|
52
71
|
options[:message] = configure_sub_options(:message)
|
53
72
|
options[:sha] = configure_sub_options(:sha)
|
73
|
+
options[:overlay] = configure_sub_options(:overlay)
|
54
74
|
end
|
55
75
|
options
|
56
76
|
end
|
@@ -58,32 +78,52 @@ module Lolcommits
|
|
58
78
|
# TODO: consider this type of configuration prompting in the base Plugin
|
59
79
|
# class, working with hash of defaults
|
60
80
|
def configure_sub_options(type)
|
61
|
-
print "#{type}
|
81
|
+
print "#{type}:\n"
|
62
82
|
defaults = config_defaults[type]
|
63
83
|
|
64
84
|
# sort option keys since different `Hash#keys` varys across Ruby versions
|
65
85
|
defaults.keys.sort_by(&:to_s).reduce({}) do |acc, opt|
|
66
|
-
|
67
|
-
|
68
|
-
|
86
|
+
# if we have an enabled key set to false, abort asking for any more options
|
87
|
+
if acc.key?(:enabled) && acc[:enabled] != true
|
88
|
+
acc
|
89
|
+
else
|
90
|
+
print " #{opt.to_s.tr('_', ' ')} (#{defaults[opt]}): "
|
91
|
+
val = parse_user_input(STDIN.gets.chomp.strip)
|
92
|
+
# handle array options (comma seperated string)
|
93
|
+
if defaults[opt].is_a?(Array) && !val.nil?
|
94
|
+
val = val.split(',').map(&:strip).delete_if(&:empty?)
|
95
|
+
end
|
96
|
+
acc.merge(opt => val)
|
97
|
+
end
|
69
98
|
end
|
70
99
|
end
|
71
100
|
|
72
101
|
def config_defaults
|
73
102
|
{
|
74
103
|
:message => {
|
104
|
+
:color => 'white',
|
75
105
|
:font => DEFAULT_FONT_PATH,
|
76
|
-
:size => 48,
|
77
106
|
:position => 'SW',
|
78
|
-
:
|
79
|
-
:stroke_color => 'black'
|
107
|
+
:size => 48,
|
108
|
+
:stroke_color => 'black',
|
109
|
+
:uppercase => false
|
80
110
|
},
|
81
111
|
:sha => {
|
112
|
+
:color => 'white',
|
82
113
|
:font => DEFAULT_FONT_PATH,
|
83
|
-
:size => 32,
|
84
114
|
:position => 'NE',
|
85
|
-
:
|
86
|
-
:stroke_color => 'black'
|
115
|
+
:size => 32,
|
116
|
+
:stroke_color => 'black',
|
117
|
+
:uppercase => false
|
118
|
+
},
|
119
|
+
:overlay => {
|
120
|
+
:enabled => false,
|
121
|
+
:overlay_colors => [
|
122
|
+
'#2e4970', '#674685', '#ca242f', '#1e7882', '#2884ae', '#4ba000',
|
123
|
+
'#187296', '#7e231f', '#017d9f', '#e52d7b', '#0f5eaa', '#e40087',
|
124
|
+
'#5566ac', '#ed8833', '#f8991c', '#408c93', '#ba9109'
|
125
|
+
],
|
126
|
+
:overlay_percent => 50
|
87
127
|
}
|
88
128
|
}
|
89
129
|
end
|
@@ -112,6 +152,8 @@ module Lolcommits
|
|
112
152
|
'SouthWest'
|
113
153
|
when 'C'
|
114
154
|
'Center'
|
155
|
+
when 'S'
|
156
|
+
'South'
|
115
157
|
end
|
116
158
|
end
|
117
159
|
|
@@ -21,7 +21,7 @@ module Lolcommits
|
|
21
21
|
def run_postcapture
|
22
22
|
return unless valid_configuration?
|
23
23
|
|
24
|
-
if runner.vcs_info.repo.empty?
|
24
|
+
if !runner.vcs_info || runner.vcs_info.repo.empty?
|
25
25
|
puts 'Repo is empty, skipping upload'
|
26
26
|
else
|
27
27
|
debug "Posting capture to #{configuration['endpoint']}"
|
data/lib/lolcommits/version.rb
CHANGED
data/lolcommits.gemspec
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
4
|
require 'lolcommits/version'
|
4
5
|
|
5
6
|
Gem::Specification.new do |s|
|
6
7
|
s.name = 'lolcommits'
|
7
8
|
s.version = Lolcommits::VERSION
|
8
|
-
s.authors = ['Matthew Rothenberg',
|
9
|
+
s.authors = ['Matthew Rothenberg', 'Matthew Hutchinson']
|
9
10
|
s.email = ['mrothenberg@gmail.com', 'matt@hiddenloop.com']
|
10
11
|
s.homepage = 'http://mroth.github.com/lolcommits/'
|
11
12
|
s.license = 'LGPL-3'
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lolcommits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Rothenberg
|
8
|
-
-
|
8
|
+
- Matthew Hutchinson
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -410,6 +410,7 @@ email:
|
|
410
410
|
- mrothenberg@gmail.com
|
411
411
|
- matt@hiddenloop.com
|
412
412
|
executables:
|
413
|
+
- console
|
413
414
|
- lolcommits
|
414
415
|
extensions: []
|
415
416
|
extra_rdoc_files: []
|
@@ -422,12 +423,14 @@ files:
|
|
422
423
|
- .rubocop_todo.yml
|
423
424
|
- .travis.yml
|
424
425
|
- CHANGELOG.md
|
426
|
+
- CODE_OF_CONDUCT.md
|
425
427
|
- CONTRIBUTING.md
|
426
428
|
- Gemfile
|
427
429
|
- LICENSE
|
428
430
|
- README.md
|
429
431
|
- Rakefile
|
430
432
|
- appveyor.yml
|
433
|
+
- bin/console
|
431
434
|
- bin/lolcommits
|
432
435
|
- config/cucumber.yml
|
433
436
|
- features/bugs.feature
|
@@ -501,9 +504,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
501
504
|
version: 1.8.7
|
502
505
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
503
506
|
requirements:
|
504
|
-
- - ! '
|
507
|
+
- - ! '>'
|
505
508
|
- !ruby/object:Gem::Version
|
506
|
-
version:
|
509
|
+
version: 1.3.1
|
507
510
|
requirements:
|
508
511
|
- imagemagick
|
509
512
|
- a webcam
|