lolcommits 0.5.3 → 0.5.4
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 +8 -8
- data/.rubocop.yml +5 -0
- data/CHANGELOG +7 -0
- data/bin/lolcommits +19 -18
- data/lib/lolcommits.rb +1 -0
- data/lib/lolcommits/plugins/lol_yammer.rb +85 -0
- data/lib/lolcommits/plugins/lolsrv.rb +1 -6
- data/lib/lolcommits/runner.rb +1 -0
- data/lib/lolcommits/version.rb +1 -1
- data/lolcommits.gemspec +2 -1
- metadata +21 -6
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTgyMzJkN2VlNzkyODQ1NDdkMWQwM2U3ZjY3NTdmZGNhNDQxNDY1OQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmM0OTJjZmY5MDY2OGNjNzYxNDZjYTM0NzFlZmY4NjkwN2Y4ZGI3MA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTVhNDFhYTE5NzZlMTM1ZGNmNmM2YzI1NTY0Nzk5NWI1ZjU1NGE3MTRjZmVm
|
10
|
+
NTdhMmQyYzI2NTQ0NzIwMGU4ODc3YjMxOGQ4MTA0MTYzYzZmOThmMTljMDcx
|
11
|
+
OTE2ZThlZWQ3ZjExMmVlNmIzNWE1OWQ5MjNiZTdhNjIyZTY3ZDU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjVhZDM2ZGU3OGE3MzdkNzE0NmMyNzJmZWVkYTRhMjNjNGYyM2JiNDQ3YjUy
|
14
|
+
NzljMmQ0NDE3MGI2ZmVmMDdkZDE4MWViZTljODczZTU3YjlhMGQ2ODNiNjU3
|
15
|
+
YzFkNGQxMzJhMzRhMTBhYjMyMDE4NjM3ZTE0ZjVhYmNiMGU5Mjc=
|
data/.rubocop.yml
CHANGED
data/CHANGELOG
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
0.x.x (in development)
|
2
2
|
* TODO: figure out problems with GUI clients
|
3
3
|
|
4
|
+
0.5.4 (13 April 2014)
|
5
|
+
* Excluded vendor/bundle from rubocop cops (@matthutchinson)
|
6
|
+
* Peg fivemat gem to ~> 1.2.1 (@mroth)
|
7
|
+
* Fix lolsrv log file issue (@matthutchinson #202)
|
8
|
+
* Yammer Plugin added (@mrclmvn #160)
|
9
|
+
* Refactor on capture options (@mroth)
|
10
|
+
|
4
11
|
0.5.3 (30 March 2014)
|
5
12
|
* Fixed permissions on CommandCam (755) for cygwin (@matthutchinson)
|
6
13
|
* Added `--devices` option, mac only for now (@matthutchinson #183, #174)
|
data/bin/lolcommits
CHANGED
@@ -96,31 +96,32 @@ def do_capture
|
|
96
96
|
capture_device = Choice.choices[:device] || ENV['LOLCOMMITS_DEVICE'] || nil
|
97
97
|
capture_font = Choice.choices[:font] || ENV['LOLCOMMITS_FONT'] || nil
|
98
98
|
|
99
|
+
capture_options = {
|
100
|
+
:capture_delay => capture_delay,
|
101
|
+
:capture_stealth => capture_stealth,
|
102
|
+
:capture_device => capture_device,
|
103
|
+
:font => capture_font,
|
104
|
+
:capture_animate => capture_animate,
|
105
|
+
:config => configuration
|
106
|
+
}
|
107
|
+
|
99
108
|
fork_me? do
|
100
109
|
if Choice.choices[:test]
|
101
110
|
info '*** Capturing in test mode.'
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
:
|
106
|
-
:
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
:font => capture_font
|
111
|
-
)
|
111
|
+
|
112
|
+
# get optional fake commit msg and sha from command line
|
113
|
+
override_text = {
|
114
|
+
:message => Choice.choices[:msg],
|
115
|
+
:sha => Choice.choices[:sha]
|
116
|
+
}
|
117
|
+
|
118
|
+
runner = Lolcommits::Runner.new(capture_options.merge override_text)
|
112
119
|
runner.run
|
113
120
|
|
121
|
+
# automatically open so the user can see the test image results immediately
|
114
122
|
Launchy.open(runner.main_image)
|
115
123
|
else
|
116
|
-
runner = Lolcommits::Runner.new(
|
117
|
-
:capture_delay => capture_delay,
|
118
|
-
:capture_stealth => capture_stealth,
|
119
|
-
:capture_device => capture_device,
|
120
|
-
:capture_animate => capture_animate,
|
121
|
-
:config => configuration,
|
122
|
-
:font => capture_font
|
123
|
-
)
|
124
|
+
runner = Lolcommits::Runner.new(capture_options)
|
124
125
|
runner.run
|
125
126
|
end
|
126
127
|
end
|
data/lib/lolcommits.rb
CHANGED
@@ -30,6 +30,7 @@ require 'lolcommits/plugins/tranzlate'
|
|
30
30
|
require 'lolcommits/plugins/lol_twitter'
|
31
31
|
require 'lolcommits/plugins/uploldz'
|
32
32
|
require 'lolcommits/plugins/lolsrv'
|
33
|
+
require 'lolcommits/plugins/lol_yammer'
|
33
34
|
|
34
35
|
# require runner after all the plugins have been required
|
35
36
|
require 'lolcommits/runner'
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'yammer'
|
3
|
+
require 'rest_client'
|
4
|
+
|
5
|
+
# https://developer.yammer.com/oauth2-quickstart/
|
6
|
+
YAMMER_CLIENT_ID = 'bgORyeKtnjZJSMwp8oln9g'
|
7
|
+
YAMMER_CLIENT_SECRET = 'oer2WdGzh74a5QBbW3INUxblHK3yg9KvCZmiBa2r0'
|
8
|
+
YAMMER_ACCESS_TOKEN_URL = 'https://www.yammer.com/oauth2/access_token.json'
|
9
|
+
YAMMER_RETRY_COUNT = 2
|
10
|
+
|
11
|
+
module Lolcommits
|
12
|
+
class LolYammer < Plugin
|
13
|
+
def self.name
|
14
|
+
'yammer'
|
15
|
+
end
|
16
|
+
|
17
|
+
def configured?
|
18
|
+
!configuration['access_token'].nil?
|
19
|
+
end
|
20
|
+
|
21
|
+
def configure_access_token
|
22
|
+
print "Open the URL below and copy the `code` param from query after redirected, enter it as `access_token`:\n"
|
23
|
+
print "https://www.yammer.com/dialog/oauth?client_id=#{YAMMER_CLIENT_ID}&response_type=code\n"
|
24
|
+
print 'Enter code param from the redirected URL, then press enter: '
|
25
|
+
code = STDIN.gets.to_s.strip
|
26
|
+
|
27
|
+
url = "#{YAMMER_ACCESS_TOKEN_URL}"
|
28
|
+
debug "access_token url: #{url}"
|
29
|
+
params = {
|
30
|
+
'client_id' => YAMMER_CLIENT_ID,
|
31
|
+
'client_secret' => YAMMER_CLIENT_SECRET,
|
32
|
+
'code' => code
|
33
|
+
}
|
34
|
+
debug "params : #{params.inspect}"
|
35
|
+
result = JSON.parse(RestClient.post(url, params))
|
36
|
+
debug "response : #{result.inspect}"
|
37
|
+
# no need for 'return', last line is always the return value
|
38
|
+
{ 'access_token' => result['access_token']['token'] }
|
39
|
+
end
|
40
|
+
|
41
|
+
def configure_options!
|
42
|
+
options = super
|
43
|
+
if options['enabled'] == true
|
44
|
+
auth_config = configure_access_token
|
45
|
+
if auth_config
|
46
|
+
options.merge!(auth_config)
|
47
|
+
else
|
48
|
+
return
|
49
|
+
end
|
50
|
+
end
|
51
|
+
options
|
52
|
+
end
|
53
|
+
|
54
|
+
def run
|
55
|
+
return unless valid_configuration?
|
56
|
+
|
57
|
+
commit_msg = self.runner.message
|
58
|
+
post = "#{commit_msg} #lolcommits"
|
59
|
+
puts "Yammer post: #{post}" unless self.runner.capture_stealth
|
60
|
+
|
61
|
+
Yammer.configure do |c|
|
62
|
+
c.client_id = YAMMER_CLIENT_ID
|
63
|
+
c.client_secret = YAMMER_CLIENT_SECRET
|
64
|
+
end
|
65
|
+
|
66
|
+
client = Yammer::Client.new(:access_token => configuration['access_token'])
|
67
|
+
|
68
|
+
retries = YAMMER_RETRY_COUNT
|
69
|
+
begin
|
70
|
+
lolimage = File.new(self.runner.main_image)
|
71
|
+
response = client.create_message(post, :attachment1 => lolimage)
|
72
|
+
debug response.body.inspect
|
73
|
+
if response
|
74
|
+
puts "\t--> Status posted!" unless self.runner.capture_stealth
|
75
|
+
end
|
76
|
+
rescue => e
|
77
|
+
retries -= 1
|
78
|
+
retry if retries > 0
|
79
|
+
puts "Status not posted - #{e.message}"
|
80
|
+
puts 'Try running config again:'
|
81
|
+
puts "\tlolcommits --config --plugin yammer"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -2,16 +2,12 @@
|
|
2
2
|
require 'rest_client'
|
3
3
|
require 'pp'
|
4
4
|
require 'json'
|
5
|
-
require 'logger'
|
6
5
|
|
7
6
|
module Lolcommits
|
8
7
|
class Lolsrv < Plugin
|
9
8
|
def initialize(runner)
|
10
9
|
super
|
11
10
|
self.options << 'server'
|
12
|
-
if self.runner
|
13
|
-
@logger = Logger.new(File.new(self.runner.config.loldir + '/lolsrv.log', 'a+'))
|
14
|
-
end
|
15
11
|
end
|
16
12
|
|
17
13
|
def run
|
@@ -63,8 +59,7 @@ module Lolcommits
|
|
63
59
|
|
64
60
|
def log_error(e, message)
|
65
61
|
debug message
|
66
|
-
|
67
|
-
@logger.info e.backtrace
|
62
|
+
debug e.backtrace
|
68
63
|
end
|
69
64
|
|
70
65
|
def self.name
|
data/lib/lolcommits/runner.rb
CHANGED
@@ -18,6 +18,7 @@ module Lolcommits
|
|
18
18
|
set_callback :run, :after, :execute_lolcommits_lolsrv
|
19
19
|
set_callback :run, :after, :execute_lolcommits_lol_twitter
|
20
20
|
set_callback :run, :after, :execute_lolcommits_dot_com
|
21
|
+
set_callback :run, :after, :execute_lolcommits_lol_yammer
|
21
22
|
set_callback :run, :after, :execute_lolcommits_loltext
|
22
23
|
# Executed First
|
23
24
|
|
data/lib/lolcommits/version.rb
CHANGED
data/lolcommits.gemspec
CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
s.add_development_dependency('rdoc')
|
32
32
|
s.add_development_dependency('aruba', '~> 0.5.1')
|
33
33
|
s.add_development_dependency('rake', '~> 10.0.2')
|
34
|
-
s.add_development_dependency('fivemat')
|
34
|
+
s.add_development_dependency('fivemat', '~> 1.2.1')
|
35
35
|
s.add_development_dependency('faker')
|
36
36
|
s.add_development_dependency('travis')
|
37
37
|
s.add_development_dependency('coveralls')
|
@@ -42,6 +42,7 @@ Gem::Specification.new do |s|
|
|
42
42
|
|
43
43
|
# plugin dependencies
|
44
44
|
s.add_runtime_dependency('twitter', '~> 4.8.1') #twitter
|
45
|
+
s.add_runtime_dependency('yam', '~> 2.0.1') #yammer
|
45
46
|
s.add_runtime_dependency('oauth') #twitter
|
46
47
|
s.add_runtime_dependency('rest-client') #uploldz
|
47
48
|
s.add_runtime_dependency('httmultiparty') #dot_com
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lolcommits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Rothenberg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mini_magick
|
@@ -154,16 +154,16 @@ dependencies:
|
|
154
154
|
name: fivemat
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - ~>
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.2.1
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - ~>
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 1.2.1
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: faker
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -248,6 +248,20 @@ dependencies:
|
|
248
248
|
- - ~>
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: 4.8.1
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: yam
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ~>
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 2.0.1
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ~>
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 2.0.1
|
251
265
|
- !ruby/object:Gem::Dependency
|
252
266
|
name: oauth
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -377,6 +391,7 @@ files:
|
|
377
391
|
- lib/lolcommits/plugin.rb
|
378
392
|
- lib/lolcommits/plugins/dot_com.rb
|
379
393
|
- lib/lolcommits/plugins/lol_twitter.rb
|
394
|
+
- lib/lolcommits/plugins/lol_yammer.rb
|
380
395
|
- lib/lolcommits/plugins/lolsrv.rb
|
381
396
|
- lib/lolcommits/plugins/loltext.rb
|
382
397
|
- lib/lolcommits/plugins/tranzlate.rb
|