blabber 0.1.4 → 1.0.0
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/lib/blabber.rb +15 -77
- data/lib/blabber/campfire.rb +36 -0
- data/lib/blabber/channel.rb +19 -0
- data/lib/blabber/console.rb +24 -0
- data/lib/blabber/email.rb +7 -0
- metadata +5 -1
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
YTIyYzQwOGE1YmQwNzUxY2U0YmY3MGU1ODE3MjIwYWY2YjAwMWI3ZA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
YjRjNTFmOTg0Y2UyZWQwNDBlZjRhMjc0YjI0YTAwMDQzYjVkMGE4Yg==
|
|
7
7
|
!binary "U0hBNTEy":
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
NzhlMjMzZDBiMWY5NmMzZGI5OTIwMWI0ZDI2YmExNjk5YTVlMTIyYjkwYTNl
|
|
10
|
+
YTYxMTYyNzc4ODg2MWI3ZTkyYzE3MzkyMzNlNTAwMGFlMDhhZTdkZjhhNzkw
|
|
11
|
+
MDVmZGNlNDJlMGJiYzY4YzRiNjA0ZTVhZjhiZjNmOTM5MzQ5ZDY=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
MzY2ZDc3OWM3YTQyZTQ2Yzg4Njc4ZjE1ZDNkNmFhNjRjOWE4MTkyMTdiNzQ0
|
|
14
|
+
ZGJiZWFlZTc4Y2QwZGI3ZTAwNmZhNmQ0Y2MwMWRjNDc1N2Y5YzIzMTQyOTY1
|
|
15
|
+
Mjg5ZDEyZmU5OWUxNGFkZjc0Y2NhYTIxZDlmMjc4MTAyNTAzNzk=
|
data/lib/blabber.rb
CHANGED
|
@@ -1,88 +1,26 @@
|
|
|
1
|
+
require 'blabber/console'
|
|
2
|
+
require 'blabber/campfire'
|
|
3
|
+
|
|
1
4
|
module Blabber
|
|
2
5
|
|
|
3
6
|
class Blabber
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def initialize(account, token, room, loglevel)
|
|
12
|
-
|
|
13
|
-
if account.nil? || token.nil? || room.nil? || loglevel.nil?
|
|
14
|
-
@@settings = { "campfire" => { "enabled" => false } }
|
|
15
|
-
else
|
|
16
|
-
@@settings = {
|
|
17
|
-
"campfire" => {
|
|
18
|
-
"enabled" => true,
|
|
19
|
-
"account" => account,
|
|
20
|
-
"token" => token,
|
|
21
|
-
"room" => room,
|
|
22
|
-
"loglevel" => loglevel
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
Broach.settings = {
|
|
27
|
-
'account' => @@settings['campfire']['account'],
|
|
28
|
-
'token' => @@settings['campfire']['token'],
|
|
29
|
-
'use_ssl' => true
|
|
30
|
-
}
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def debug(message)
|
|
36
|
-
console message
|
|
37
|
-
if @@settings['campfire']['enabled'] && loglevelnumeric <= @@level['DEBUG']
|
|
38
|
-
speak(message)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def info(message)
|
|
43
|
-
console message
|
|
44
|
-
if @@settings['campfire']['enabled'] && loglevelnumeric <= @@level['INFO']
|
|
45
|
-
speak(message)
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def warn(message)
|
|
50
|
-
console message
|
|
51
|
-
if @@settings['campfire']['enabled'] && loglevelnumeric <= @@level['WARN']
|
|
52
|
-
speak(message)
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def error(message)
|
|
57
|
-
console message
|
|
58
|
-
if @@settings['campfire']['enabled'] && loglevelnumeric <= @@level['ERROR']
|
|
59
|
-
speak(message)
|
|
8
|
+
def initialize(opts)
|
|
9
|
+
@channels = opts.keys.map do |channel_name|\
|
|
10
|
+
class_object = channel_name.split("::").inject(Object) do |acc, component|
|
|
11
|
+
acc.const_get(component)
|
|
12
|
+
end
|
|
13
|
+
class_object.new(opts[channel_name])
|
|
60
14
|
end
|
|
61
15
|
end
|
|
62
16
|
|
|
63
|
-
def
|
|
64
|
-
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def speak(message)
|
|
68
|
-
opts = {}
|
|
69
|
-
if message.gsub(/\n|\r/, "") != message
|
|
70
|
-
opts[:type] = :paste
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
Broach.speak(@@settings['campfire']['room'], message, opts)
|
|
74
|
-
end
|
|
17
|
+
def method_missing(method_name, *args)
|
|
18
|
+
process_message(args[0], method_name.to_s.upcase, args[1])
|
|
19
|
+
end
|
|
75
20
|
|
|
76
|
-
def
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return 0
|
|
80
|
-
when "INFO"
|
|
81
|
-
return 1
|
|
82
|
-
when "WARN"
|
|
83
|
-
return 2
|
|
84
|
-
when "ERROR"
|
|
85
|
-
return 3
|
|
21
|
+
def process_message(message, loglevel, opts)
|
|
22
|
+
@channels.each do |channel|
|
|
23
|
+
channel.emit(message, loglevel, opts)
|
|
86
24
|
end
|
|
87
25
|
end
|
|
88
26
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'blabber/channel'
|
|
2
|
+
|
|
3
|
+
module Blabber
|
|
4
|
+
|
|
5
|
+
class Campfire
|
|
6
|
+
|
|
7
|
+
include Channel
|
|
8
|
+
attr_reader :opts
|
|
9
|
+
|
|
10
|
+
require "broach"
|
|
11
|
+
|
|
12
|
+
def initialize(opts)
|
|
13
|
+
@opts = opts
|
|
14
|
+
Broach.settings = @opts.keys.inject({'use_ssl' => true}) do |acc, key|
|
|
15
|
+
if(['account', 'token'].include?(key))
|
|
16
|
+
acc[key] = @opts[key]
|
|
17
|
+
end
|
|
18
|
+
acc
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def loglevels
|
|
23
|
+
@opts['loglevels']
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def speak(message, loglevel, opts)
|
|
27
|
+
msg_opts = {}
|
|
28
|
+
if message.gsub(/\n|\r/, "") != message
|
|
29
|
+
msg_opts[:type] = :paste
|
|
30
|
+
end
|
|
31
|
+
Broach.speak(@opts['room'], message, msg_opts)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Blabber
|
|
2
|
+
|
|
3
|
+
module Channel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def emit(message, loglevel, opts = nil)
|
|
7
|
+
if should_emit(loglevel)
|
|
8
|
+
speak(message, loglevel, opts)
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def should_emit(loglevel)
|
|
14
|
+
loglevels.include?(loglevel)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'blabber/channel'
|
|
2
|
+
|
|
3
|
+
module Blabber
|
|
4
|
+
|
|
5
|
+
class Console
|
|
6
|
+
|
|
7
|
+
include Channel
|
|
8
|
+
attr_reader :opts
|
|
9
|
+
|
|
10
|
+
def initialize(opts)
|
|
11
|
+
@opts = opts
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def loglevels
|
|
15
|
+
@opts['loglevels']
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def speak(message, loglevel, opts)
|
|
19
|
+
puts message
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blabber
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Paul Picazo
|
|
@@ -31,6 +31,10 @@ extensions: []
|
|
|
31
31
|
extra_rdoc_files: []
|
|
32
32
|
files:
|
|
33
33
|
- lib/blabber.rb
|
|
34
|
+
- lib/blabber/channel.rb
|
|
35
|
+
- lib/blabber/console.rb
|
|
36
|
+
- lib/blabber/campfire.rb
|
|
37
|
+
- lib/blabber/email.rb
|
|
34
38
|
homepage: https://github.com/ppicazo/blabber
|
|
35
39
|
licenses:
|
|
36
40
|
- New BSD License
|