blabber 0.1.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTNkZDZhN2RkODg2OTQxNDRlY2JkZDhkYzY2MjQ0NzBmYmUzMTFhOQ==
4
+ YTIyYzQwOGE1YmQwNzUxY2U0YmY3MGU1ODE3MjIwYWY2YjAwMWI3ZA==
5
5
  data.tar.gz: !binary |-
6
- ODBlNjYwMjliZDRmYWUyZDEyNGE4NzM4ZTcwYmM0YjUxNjA0ZDgzZQ==
6
+ YjRjNTFmOTg0Y2UyZWQwNDBlZjRhMjc0YjI0YTAwMDQzYjVkMGE4Yg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NDQ5YzM0MGM0Zjc2M2QxMTQxMTE0MzQ4YTA3ZjJhZWE5YzAzYjVkMzIyMjAz
10
- ZWQzOTljYjZjNTRjNjI4YTExMjk3Y2UwMjUyMDZlMDEzY2U3NzI0YTdiYjA1
11
- MWE4NjhhZmUxODI3ZDYyMmE0YmQxYjc3N2RhNzViMjc2YmVmZjY=
9
+ NzhlMjMzZDBiMWY5NmMzZGI5OTIwMWI0ZDI2YmExNjk5YTVlMTIyYjkwYTNl
10
+ YTYxMTYyNzc4ODg2MWI3ZTkyYzE3MzkyMzNlNTAwMGFlMDhhZTdkZjhhNzkw
11
+ MDVmZGNlNDJlMGJiYzY4YzRiNjA0ZTVhZjhiZjNmOTM5MzQ5ZDY=
12
12
  data.tar.gz: !binary |-
13
- ZGI5ZWM0NjRjNTJkZDI3ZThlMWNjNWVjNWExNTYyN2MyN2JkYmY2NzI2MGM1
14
- YmFkMDIzMzNkMzgyNzgyMTBiNmU0ZGYzN2FkYThlNzdkYzJjMDZiOTBkMDM1
15
- ODA4MTZiYjU0NjU4NzU2NDM4YTI1ZGVhZDdlMjBjYzBlMjkzMmM=
13
+ MzY2ZDc3OWM3YTQyZTQ2Yzg4Njc4ZjE1ZDNkNmFhNjRjOWE4MTkyMTdiNzQ0
14
+ ZGJiZWFlZTc4Y2QwZGI3ZTAwNmZhNmQ0Y2MwMWRjNDc1N2Y5YzIzMTQyOTY1
15
+ Mjg5ZDEyZmU5OWUxNGFkZjc0Y2NhYTIxZDlmMjc4MTAyNTAzNzk=
@@ -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
- require "broach"
6
-
7
- @@settings = {}
8
-
9
- @@level = { "DEBUG" => 0, "INFO" => 1, "WARN" => 2, "ERROR" => 3}
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 console(message)
64
- puts message
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 loglevelnumeric()
77
- case @@settings['campfire']['loglevel']
78
- when "DEBUG"
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
@@ -0,0 +1,7 @@
1
+ module Blabber
2
+
3
+ class Email
4
+
5
+ end
6
+
7
+ 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.1.4
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