omnibot 0.0.15 → 0.0.16

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