omnibot 0.0.15 → 0.0.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  # AMQP consumer class
@@ -42,7 +44,7 @@ module OmniBot
42
44
  OmniLog::info "==== AMQP is ready ===="
43
45
 
44
46
  queue.subscribe do |msg|
45
- message = Marshal.load msg
47
+ message = Marshal.load(Base64.decode64(msg)).force_encoding('UTF-8')
46
48
  send_message message
47
49
  end
48
50
 
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  class OmniLog
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  # Jabber bot with reconnection and dnd-care logic
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  # entry point
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
  module LoggedCommand
3
5
 
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  class MailChecker
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  class OmniSend
@@ -9,7 +11,7 @@ module OmniBot
9
11
  message = args.join(' ')
10
12
  end
11
13
  puts "Sending message #{message}"
12
- data = Marshal.dump(message)
14
+ data = Base64.encode64(Marshal.dump(message))
13
15
 
14
16
  Signal.trap('INT') { AMQP.stop{ EM.stop } }
15
17
 
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
4
 
3
5
  # Send to jabber user result of a daily command
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module OmniBot
2
- VERSION = '0.0.15'
4
+ VERSION = '0.0.16'
3
5
  end
data/lib/omnibot.rb CHANGED
@@ -1,5 +1,8 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'yaml'
2
4
  require 'logger'
5
+ require 'base64'
3
6
 
4
7
  require 'amqp'
5
8
  require 'eventmachine'
@@ -12,6 +15,41 @@ require 'socket'
12
15
  require 'date'
13
16
  require 'tmpdir'
14
17
 
18
+ # patch from https://github.com/ln/xmpp4r/issues/3
19
+
20
+ if RUBY_VERSION < "1.9"
21
+ # ...
22
+ else
23
+ # Encoding patch
24
+ require 'socket'
25
+ class TCPSocket
26
+ def external_encoding
27
+ Encoding::BINARY
28
+ end
29
+ end
30
+
31
+ require 'rexml/source'
32
+ class REXML::IOSource
33
+ alias_method :encoding_assign, :encoding=
34
+ def encoding=(value)
35
+ encoding_assign(value) if value
36
+ end
37
+ end
38
+
39
+ begin
40
+ # OpenSSL is optional and can be missing
41
+ require 'openssl'
42
+ class OpenSSL::SSL::SSLSocket
43
+ def external_encoding
44
+ Encoding::BINARY
45
+ end
46
+ end
47
+ rescue
48
+ end
49
+ end
50
+
51
+ # -----------------
52
+
15
53
  module OmniBot
16
54
 
17
55
  %w[ helpers jabberbot amqpconsumer omnisend launcher loggedcommand periodiccommand mailchecker ].each do |file|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnibot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
4
+ version: 0.0.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-11-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: xmpp4r
16
- requirement: &70158244688560 !ruby/object:Gem::Requirement
16
+ requirement: &70318921490600 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70158244688560
24
+ version_requirements: *70318921490600
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: eventmachine
27
- requirement: &70158244687260 !ruby/object:Gem::Requirement
27
+ requirement: &70318921489380 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70158244687260
35
+ version_requirements: *70318921489380
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mail
38
- requirement: &70158244686220 !ruby/object:Gem::Requirement
38
+ requirement: &70318921488200 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70158244686220
46
+ version_requirements: *70318921488200
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
- requirement: &70158244680540 !ruby/object:Gem::Requirement
49
+ requirement: &70318921487460 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70158244680540
57
+ version_requirements: *70318921487460
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: amqp
60
- requirement: &70158244678280 !ruby/object:Gem::Requirement
60
+ requirement: &70318921486320 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.8.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70158244678280
68
+ version_requirements: *70318921486320
69
69
  description: Works with AMQP for sending messages at server side.Sends notifications
70
70
  to an user via XMPP.Can monitor system by performing daily commands.
71
71
  email: theirix@gmail.com
@@ -101,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ! '>='
103
103
  - !ruby/object:Gem::Version
104
- version: '1.8'
104
+ version: '1.9'
105
105
  required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  segments:
112
112
  - 0
113
- hash: -1310427366543892575
113
+ hash: 1695530432375130884
114
114
  requirements:
115
115
  - AMQP-compatible server (for example, RabbitMQ)
116
116
  rubyforge_project: nowarning