gina-conveyor 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile.lock +15 -37
- data/conveyor.gemspec +1 -2
- data/lib/conveyor/foreman.rb +24 -31
- data/lib/conveyor/output.rb +10 -12
- data/lib/conveyor/version.rb +1 -1
- data/lib/conveyor.rb +1 -2
- metadata +26 -61
- data/lib/conveyor/output/campfire.rb +0 -29
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b5e7532c41370b5895baf8dc2776eaef2531ce99
|
4
|
+
data.tar.gz: a2c2b104cd9ebbc166bc5d397cc4b0a93d660c13
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3f310031700a8186a14dce0d7130898d3ada6bdaf0e27ea9db5d1223e654657ae7123d2d612bcf5961f7c8d48bd66ee9206042e0e1b1994a57d3517bc4bce22d
|
7
|
+
data.tar.gz: baacd19e877b28d60c7672b9f08123cadbb48bae2d694ba4b035a775cfd2d300a4e52f1778fb1dce8de6d312d4933bfffc6ab33c04f11b72de35e8592fed6920
|
data/Gemfile.lock
CHANGED
@@ -1,23 +1,22 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gina-conveyor (0.2.
|
4
|
+
gina-conveyor (0.2.3)
|
5
5
|
activemodel (~> 4.1.0)
|
6
6
|
activesupport (~> 4.1.0)
|
7
7
|
em-websocket (~> 0.5.1)
|
8
8
|
eventmachine (~> 1.0.0)
|
9
|
-
listen (~> 2.
|
9
|
+
listen (~> 2.10)
|
10
10
|
rainbow (~> 2.0.0)
|
11
11
|
rb-readline (~> 0.5.0)
|
12
|
-
tinder (= 1.10.0)
|
13
12
|
|
14
13
|
GEM
|
15
14
|
remote: http://rubygems.org/
|
16
15
|
specs:
|
17
|
-
activemodel (4.1.
|
18
|
-
activesupport (= 4.1.
|
16
|
+
activemodel (4.1.12)
|
17
|
+
activesupport (= 4.1.12)
|
19
18
|
builder (~> 3.1)
|
20
|
-
activesupport (4.1.
|
19
|
+
activesupport (4.1.12)
|
21
20
|
i18n (~> 0.6, >= 0.6.9)
|
22
21
|
json (~> 1.7, >= 1.7.7)
|
23
22
|
minitest (~> 5.1)
|
@@ -29,47 +28,26 @@ GEM
|
|
29
28
|
em-websocket (0.5.1)
|
30
29
|
eventmachine (>= 0.12.9)
|
31
30
|
http_parser.rb (~> 0.6.0)
|
32
|
-
eventmachine (1.0.
|
33
|
-
|
34
|
-
multipart-post (>= 1.2, < 3)
|
35
|
-
faraday_middleware (0.9.1)
|
36
|
-
faraday (>= 0.7.4, < 0.10)
|
37
|
-
ffi (1.9.6)
|
38
|
-
hashie (2.1.2)
|
31
|
+
eventmachine (1.0.7)
|
32
|
+
ffi (1.9.10)
|
39
33
|
hitimes (1.2.2)
|
40
34
|
http_parser.rb (0.6.0)
|
41
|
-
i18n (0.
|
42
|
-
json (1.8.
|
43
|
-
listen (2.
|
44
|
-
celluloid (
|
35
|
+
i18n (0.7.0)
|
36
|
+
json (1.8.3)
|
37
|
+
listen (2.10.1)
|
38
|
+
celluloid (~> 0.16.0)
|
45
39
|
rb-fsevent (>= 0.9.3)
|
46
40
|
rb-inotify (>= 0.9)
|
47
|
-
|
48
|
-
minitest (5.4.2)
|
49
|
-
multi_json (1.10.1)
|
50
|
-
multipart-post (2.0.0)
|
41
|
+
minitest (5.7.0)
|
51
42
|
rainbow (2.0.0)
|
52
43
|
rake (10.3.2)
|
53
|
-
rb-fsevent (0.9.
|
44
|
+
rb-fsevent (0.9.5)
|
54
45
|
rb-inotify (0.9.5)
|
55
46
|
ffi (>= 0.5.0)
|
56
|
-
rb-readline (0.5.
|
57
|
-
|
58
|
-
thread_safe (0.3.4)
|
47
|
+
rb-readline (0.5.3)
|
48
|
+
thread_safe (0.3.5)
|
59
49
|
timers (4.0.1)
|
60
50
|
hitimes
|
61
|
-
tinder (1.10.0)
|
62
|
-
eventmachine (~> 1.0)
|
63
|
-
faraday (~> 0.9.0)
|
64
|
-
faraday_middleware (~> 0.9)
|
65
|
-
hashie (>= 1.0, < 3)
|
66
|
-
json (~> 1.8.0)
|
67
|
-
mime-types
|
68
|
-
multi_json (~> 1.7)
|
69
|
-
twitter-stream (~> 0.1)
|
70
|
-
twitter-stream (0.1.12)
|
71
|
-
eventmachine (>= 0.12.8)
|
72
|
-
roauth (>= 0.0.2)
|
73
51
|
tzinfo (1.2.2)
|
74
52
|
thread_safe (~> 0.1)
|
75
53
|
|
data/conveyor.gemspec
CHANGED
@@ -22,10 +22,9 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.add_development_dependency('rake')
|
23
23
|
gem.add_dependency('activemodel', '~> 4.1.0')
|
24
24
|
gem.add_dependency('activesupport', '~> 4.1.0')
|
25
|
-
gem.add_dependency('listen', '~> 2.
|
25
|
+
gem.add_dependency('listen', '~> 2.10')
|
26
26
|
gem.add_dependency('rainbow', '~> 2.0.0')
|
27
27
|
gem.add_dependency('rb-readline', '~> 0.5.0')
|
28
28
|
gem.add_dependency('eventmachine', '~> 1.0.0')
|
29
29
|
gem.add_dependency('em-websocket', '~> 0.5.1')
|
30
|
-
gem.add_dependency('tinder', '1.10.0')
|
31
30
|
end
|
data/lib/conveyor/foreman.rb
CHANGED
@@ -22,10 +22,10 @@ module Conveyor
|
|
22
22
|
'Foreman'
|
23
23
|
end
|
24
24
|
|
25
|
-
def channel
|
25
|
+
def channel
|
26
26
|
@channel ||= EM::Channel.new
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
def read_configs
|
30
30
|
@config = {
|
31
31
|
"worker_defs" => File.expand_path('.workers', Dir.pwd),
|
@@ -35,15 +35,9 @@ module Conveyor
|
|
35
35
|
"disabled" => false,
|
36
36
|
"host" => "0.0.0.0",
|
37
37
|
"port" => 9876
|
38
|
-
},
|
39
|
-
"campfire" => {
|
40
|
-
"subdomain" => "",
|
41
|
-
"use_ssl" => true,
|
42
|
-
"token" => "",
|
43
|
-
"room" => ""
|
44
38
|
}
|
45
39
|
}
|
46
|
-
|
40
|
+
|
47
41
|
@config_file = '.conveyor'
|
48
42
|
if File.exists? @config_file
|
49
43
|
@config.merge! YAML.load(File.open(@config_file))
|
@@ -53,7 +47,7 @@ module Conveyor
|
|
53
47
|
else
|
54
48
|
write_config(@config)
|
55
49
|
end
|
56
|
-
|
50
|
+
|
57
51
|
# New version of conveyor update config file with new params
|
58
52
|
if !@config['version'] || @config['version'] != Conveyor::VERSION
|
59
53
|
@config['version'] = Conveyor::VERSION
|
@@ -62,9 +56,8 @@ module Conveyor
|
|
62
56
|
|
63
57
|
@config.symbolize_keys!
|
64
58
|
@config[:websocket].symbolize_keys!
|
65
|
-
@config[:campfire].symbolize_keys!
|
66
59
|
end
|
67
|
-
|
60
|
+
|
68
61
|
def write_config(config)
|
69
62
|
File.open(@config_file, 'w') { |fp| fp << config.to_yaml }
|
70
63
|
end
|
@@ -73,21 +66,21 @@ module Conveyor
|
|
73
66
|
@listener_opts = args.extract_options!
|
74
67
|
@listener_dir = File.expand_path(args.first)
|
75
68
|
raise "Directory #{@listener_dir} not found" unless File.directory? @listener_dir
|
76
|
-
|
69
|
+
|
77
70
|
@listener_opts[:latency] ||= 1
|
78
71
|
# Set a large latency if we force polling, prevents high cpu usage
|
79
72
|
@listener_opts[:latency] = 1 if @listener_opts[:latency] < 1 and @listener_opts[:force_polling]
|
80
|
-
|
73
|
+
|
81
74
|
yield
|
82
75
|
end
|
83
|
-
|
76
|
+
|
84
77
|
def match(*args, &block)
|
85
78
|
opts = args.extract_options!
|
86
79
|
debug "Filters: #{args.inspect}"
|
87
|
-
|
80
|
+
|
88
81
|
debug "Force polling" if @listener_opts[:force_polling]
|
89
82
|
listener_opts = { latency: @listener_opts[:latency] || 0.5, force_polling: @listener_opts[:force_polling] }
|
90
|
-
|
83
|
+
|
91
84
|
b = @belts[@listener_dir] = Belt.new(@listener_dir, @current_worker)
|
92
85
|
callback = lambda do |modified, added, removed|
|
93
86
|
begin
|
@@ -108,11 +101,11 @@ module Conveyor
|
|
108
101
|
error "ERROR: #{e.message}"
|
109
102
|
error e.backtrace
|
110
103
|
end
|
111
|
-
|
104
|
+
|
112
105
|
def file(glob)
|
113
106
|
/#{glob}$/
|
114
107
|
end
|
115
|
-
|
108
|
+
|
116
109
|
def extension(glob)
|
117
110
|
/\.#{glob}$/
|
118
111
|
end
|
@@ -120,7 +113,7 @@ module Conveyor
|
|
120
113
|
def any
|
121
114
|
'*'
|
122
115
|
end
|
123
|
-
|
116
|
+
|
124
117
|
def notify_list
|
125
118
|
@notify_list.flatten!
|
126
119
|
@notify_list.uniq!
|
@@ -130,12 +123,12 @@ module Conveyor
|
|
130
123
|
def stop!
|
131
124
|
@listeners.each { |dir,l| info "Stopping #{dir} listener"; l.stop }
|
132
125
|
@listeners = {}
|
133
|
-
@notify_list = []
|
126
|
+
@notify_list = []
|
134
127
|
end
|
135
|
-
|
128
|
+
|
136
129
|
def start
|
137
130
|
load!
|
138
|
-
@listeners.each do |k, listener|
|
131
|
+
@listeners.each do |k, listener|
|
139
132
|
info "Watching #{k}"
|
140
133
|
listener.start
|
141
134
|
end
|
@@ -151,31 +144,31 @@ module Conveyor
|
|
151
144
|
EM.defer do
|
152
145
|
b.check
|
153
146
|
end
|
154
|
-
end
|
147
|
+
end
|
155
148
|
end
|
156
149
|
|
157
150
|
def load!
|
158
151
|
stop!
|
159
|
-
|
160
|
-
info "Loading workers from #{@config[:worker_defs]}"
|
152
|
+
|
153
|
+
info "Loading workers from #{@config[:worker_defs]}"
|
161
154
|
FileUtils.mkdir_p(@config[:worker_defs])
|
162
|
-
|
155
|
+
|
163
156
|
Dir.glob(File.join(@config[:worker_defs], '*.worker')) do |file|
|
164
157
|
begin
|
165
158
|
@current_worker = File.expand_path(file)
|
166
159
|
instance_eval File.read(@current_worker)
|
167
160
|
rescue => e
|
168
161
|
error [
|
169
|
-
"Error loading #{@current_worker}, skipping",
|
170
|
-
e.message,
|
162
|
+
"Error loading #{@current_worker}, skipping",
|
163
|
+
e.message,
|
171
164
|
e.backtrace
|
172
165
|
].flatten
|
173
166
|
end
|
174
167
|
end
|
175
168
|
end
|
176
|
-
|
169
|
+
|
177
170
|
def method_missing(method, value = nil)
|
178
171
|
return method.to_s
|
179
|
-
end
|
172
|
+
end
|
180
173
|
end
|
181
174
|
end
|
data/lib/conveyor/output.rb
CHANGED
@@ -2,14 +2,13 @@ require 'conveyor/output/console'
|
|
2
2
|
require 'conveyor/output/email'
|
3
3
|
require 'conveyor/output/logfile'
|
4
4
|
require 'conveyor/output/channel'
|
5
|
-
require 'conveyor/output/campfire'
|
6
5
|
|
7
6
|
module Conveyor
|
8
7
|
module Output
|
9
8
|
MSGLVLS = {
|
10
|
-
:debug => 1,
|
11
|
-
:info => 10,
|
12
|
-
:warning => 20,
|
9
|
+
:debug => 1,
|
10
|
+
:info => 10,
|
11
|
+
:warning => 20,
|
13
12
|
:error => 30,
|
14
13
|
:announce => 40
|
15
14
|
}
|
@@ -46,11 +45,11 @@ module Conveyor
|
|
46
45
|
def info(*msg)
|
47
46
|
output(:info, *msg)
|
48
47
|
end
|
49
|
-
|
48
|
+
|
50
49
|
def warning(*msg)
|
51
50
|
output(:warning, *msg)
|
52
51
|
end
|
53
|
-
|
52
|
+
|
54
53
|
def error(*msg)
|
55
54
|
output(:error, *msg)
|
56
55
|
end
|
@@ -58,20 +57,19 @@ module Conveyor
|
|
58
57
|
def debug(*msg)
|
59
58
|
output(:debug, *msg)
|
60
59
|
end
|
61
|
-
|
60
|
+
|
62
61
|
def announce(*msg)
|
63
62
|
output(:announce, *msg)
|
64
63
|
end
|
65
|
-
|
64
|
+
|
66
65
|
def output(msgtype, *msg)
|
67
66
|
return false unless should_log?(msgtype)
|
68
67
|
Console.write(msgtype, *msg)
|
69
68
|
Logfile.write(logfile, name, msgtype, *msg)
|
70
|
-
Email.write(msgtype, *msg)
|
69
|
+
Email.write(msgtype, *msg)
|
71
70
|
Channel.instance.write(name, msgtype, *msg)
|
72
|
-
Campfire.instance.write(name, msgtype, *msg)
|
73
71
|
end
|
74
|
-
|
72
|
+
|
75
73
|
def send_notifications
|
76
74
|
Email.mail
|
77
75
|
end
|
@@ -80,4 +78,4 @@ module Conveyor
|
|
80
78
|
Conveyor::Foreman.instance.notify_list << emails
|
81
79
|
end
|
82
80
|
end
|
83
|
-
end
|
81
|
+
end
|
data/lib/conveyor/version.rb
CHANGED
data/lib/conveyor.rb
CHANGED
@@ -15,12 +15,11 @@ require 'rb-readline'
|
|
15
15
|
require 'fileutils'
|
16
16
|
require 'eventmachine'
|
17
17
|
require 'em-websocket'
|
18
|
-
require 'tinder'
|
19
18
|
require "conveyor/version"
|
20
19
|
|
21
20
|
module Conveyor
|
22
21
|
extend ActiveSupport::Autoload
|
23
|
-
|
22
|
+
|
24
23
|
autoload :Output, 'conveyor/output'
|
25
24
|
autoload :Foreman, 'conveyor/foreman'
|
26
25
|
autoload :Belt, 'conveyor/belt'
|
metadata
CHANGED
@@ -1,160 +1,127 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gina-conveyor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Will Fisher
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-07-24 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: activemodel
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 4.1.0
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 4.1.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: activesupport
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 4.1.0
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 4.1.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: listen
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: 2.
|
61
|
+
version: '2.10'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version: 2.
|
68
|
+
version: '2.10'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rainbow
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 2.0.0
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 2.0.0
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rb-readline
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- - ~>
|
87
|
+
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: 0.5.0
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- - ~>
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: 0.5.0
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: eventmachine
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- - ~>
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: 1.0.0
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- - ~>
|
108
|
+
- - "~>"
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: 1.0.0
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: em-websocket
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- - ~>
|
115
|
+
- - "~>"
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: 0.5.1
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- - ~>
|
122
|
+
- - "~>"
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: 0.5.1
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: tinder
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - '='
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: 1.10.0
|
150
|
-
type: :runtime
|
151
|
-
prerelease: false
|
152
|
-
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - '='
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 1.10.0
|
158
125
|
description: Conveyor is used for shuffling data around
|
159
126
|
email:
|
160
127
|
- will@gina.alaska.edu
|
@@ -163,7 +130,7 @@ executables:
|
|
163
130
|
extensions: []
|
164
131
|
extra_rdoc_files: []
|
165
132
|
files:
|
166
|
-
- .gitignore
|
133
|
+
- ".gitignore"
|
167
134
|
- Gemfile
|
168
135
|
- Gemfile.lock
|
169
136
|
- LICENSE
|
@@ -179,7 +146,6 @@ files:
|
|
179
146
|
- lib/conveyor/input/console.rb
|
180
147
|
- lib/conveyor/job_state.rb
|
181
148
|
- lib/conveyor/output.rb
|
182
|
-
- lib/conveyor/output/campfire.rb
|
183
149
|
- lib/conveyor/output/channel.rb
|
184
150
|
- lib/conveyor/output/console.rb
|
185
151
|
- lib/conveyor/output/email.rb
|
@@ -252,26 +218,25 @@ files:
|
|
252
218
|
- worker-examples/devel.worker
|
253
219
|
homepage: http://github.com/gina-alaska/conveyor.git
|
254
220
|
licenses: []
|
221
|
+
metadata: {}
|
255
222
|
post_install_message:
|
256
223
|
rdoc_options: []
|
257
224
|
require_paths:
|
258
225
|
- lib
|
259
226
|
required_ruby_version: !ruby/object:Gem::Requirement
|
260
|
-
none: false
|
261
227
|
requirements:
|
262
|
-
- -
|
228
|
+
- - ">="
|
263
229
|
- !ruby/object:Gem::Version
|
264
230
|
version: '0'
|
265
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
|
-
none: false
|
267
232
|
requirements:
|
268
|
-
- -
|
233
|
+
- - ">="
|
269
234
|
- !ruby/object:Gem::Version
|
270
235
|
version: '0'
|
271
236
|
requirements: []
|
272
237
|
rubyforge_project:
|
273
|
-
rubygems_version:
|
238
|
+
rubygems_version: 2.4.5
|
274
239
|
signing_key:
|
275
|
-
specification_version:
|
240
|
+
specification_version: 4
|
276
241
|
summary: GINA Data Conveyor
|
277
242
|
test_files: []
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Conveyor
|
2
|
-
module Output
|
3
|
-
class Campfire
|
4
|
-
include Singleton
|
5
|
-
|
6
|
-
def initialize
|
7
|
-
@config = Conveyor::Foreman.instance.config[:campfire]
|
8
|
-
@host = Socket.gethostname
|
9
|
-
|
10
|
-
if enabled?
|
11
|
-
@campfire = Tinder::Campfire.new @config[:subdomain], :token => @config[:token]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def write(name, msgtype, *msg)
|
16
|
-
return false if !enabled? or msgtype != :announce
|
17
|
-
|
18
|
-
room = @campfire.find_room_by_name(@config[:room])
|
19
|
-
Array(msg).each do |m|
|
20
|
-
room.speak "[#{@host}::#{name}] #{m}"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def enabled?
|
25
|
-
!@config[:subdomain].empty? && !@config[:token].empty? && !@config[:room].empty?
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|