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 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