Skip to content

Commit 7261f9d

Browse files
committed
Updated to work with more recent dependencies
1 parent 83bdbe8 commit 7261f9d

15 files changed

+109
-133
lines changed

.ruby-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.2
1+
2.2.2

Gemfile

+8-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
source "http://rubygems.org"
2-
# Add dependencies required to use your gem here.
3-
# Example:
4-
# gem "activesupport", ">= 2.3.5"
52

6-
# Add dependencies to develop your gem here.
7-
# Include everything needed to run rake, tests, features, etc.
3+
gem 'celluloid', '~> 0.17'
4+
85
group :development do
9-
gem "rspec", "~> 2.8.0"
10-
gem "yard", "~> 0.7"
11-
gem "rdoc", "~> 3.12"
12-
gem "bundler", "~> 1.0"
13-
gem "jeweler", "~> 2.0.1"
6+
gem "rspec", "~> 3"
7+
gem "yard", '~> 0.8'
8+
gem "rdoc", '~> 4.2'
9+
gem "bundler", "> 1.3"
10+
gem "jeweler", "~> 2"
1411
gem "simplecov", ">= 0"
1512
gem 'thread_safe', '~> 0.3'
16-
gem 'celluloid'
13+
# gem 'celluloid', '~> 0.16.1'
1714
end

Rakefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ require 'rake'
1414
require 'jeweler'
1515
Jeweler::Tasks.new do |gem|
1616
gem.name = "ruby-dovado"
17-
gem.homepage = "https://bitbucket.org/lilycode/ruby-dovado"
17+
gem.homepage = "https://bitbucket.org/janlindblom/ruby-dovado"
1818
gem.license = "MIT"
1919
gem.summary = "Ruby library for interfacing Dovado routers."
2020
gem.description = "Ruby library for interfacing Dovado routers."
21-
gem.email = "jan@janlindblom.se"
21+
gem.email = "janlindblom@fastmail.fm"
2222
gem.authors = ["Jan Lindblom"]
2323
gem.add_dependency 'thread_safe', '~> 0.3'
2424
gem.add_dependency 'celluloid', '~> 0.15'

lib/dovado.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
require 'thread_safe'
2-
require 'celluloid'
2+
#require 'celluloid'
3+
require 'celluloid/current'
34

45
require 'dovado/utilities'
56
require 'dovado/client'

lib/dovado/client.rb

+23-25
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
module Dovado
44
class Client
55
include Celluloid
6-
include Celluloid::Logger
7-
8-
@@server = nil
6+
7+
@server = nil
98
@address = nil
109
@user = nil
1110
@password = nil
12-
@@authenticated = nil
13-
11+
@authenticated = nil
12+
1413
def initialize(args=nil)
1514
# Defaults
1615
@address = '192.168.0.1'
@@ -21,63 +20,62 @@ def initialize(args=nil)
2120
@user = args[:user] unless args[:user].nil?
2221
@password = args[:password] unless args[:password].nil?
2322
end
24-
debug "Starting up #{self.class.to_s}..."
2523
end
26-
24+
2725
def command(text=nil)
2826
unless text.nil?
29-
#connect
30-
#authenticate
31-
32-
res = @@server.puts(text)
33-
res = @@server.waitfor(/>>\s/)
27+
#connect unless connected?
28+
#authenticate unless authenticated?
29+
30+
res = @server.puts(text)
31+
res = @server.waitfor(/>>\s/)
3432
#disconnect
3533
res
3634
end
3735
end
3836

3937
def connect
40-
if @@server.nil?
41-
@@server = Net::Telnet.new('Host' => @address, 'Port' => 6435, 'Telnetmode' => false, 'Prompt' => />>\s/)
38+
if @server.nil?
39+
@server = Net::Telnet.new('Host' => @address, 'Port' => 6435, 'Telnetmode' => false, 'Prompt' => />>\s/)
4240
end
4341
end
4442

4543
def disconnect
46-
unless @@server.nil?
47-
@@server.close
44+
unless @server.nil?
45+
@server.close
4846
end
4947
end
5048

5149
def connected?
52-
unless @@server.nil?
50+
unless @server.nil?
5351
true
5452
else
5553
false
5654
end
5755
end
5856

5957
def authenticate
60-
unless @@server.nil?
58+
unless @server.nil?
6159
unless authenticated?
6260
user = @user unless @user.nil?
6361
password = @password unless @password.nil?
6462

65-
@@server.cmd("user #{user}")
66-
@@server.waitfor(/>>\s/)
67-
@@server.cmd("pass #{password}")
63+
@server.cmd("user #{user}")
64+
@server.waitfor(/>>\s/)
65+
@server.cmd("pass #{password}")
6866

6967
# TODO: verify authentication
70-
@@authenticated = true
68+
@authenticated = true
7169
else
72-
@@authenticated = false
70+
@authenticated = false
7371
end
7472
else
75-
@@authenticated = false
73+
@authenticated = false
7674
end
7775
end
7876

7977
def authenticated?
80-
@@authenticated
78+
@authenticated
8179
end
8280

8381
end

lib/dovado/router.rb

+10-27
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
module Dovado
33
class Router
44
include Celluloid
5-
include Celluloid::Logger
65

76
@address = nil
87
@connected = nil
@@ -11,7 +10,6 @@ class Router
1110
# network.
1211
#
1312
def initialize(args=nil)
14-
debug "Starting up #{self.class.to_s}..."
1513

1614
# Defaults
1715
@address = '192.168.0.1'
@@ -24,21 +22,15 @@ def initialize(args=nil)
2422
password = args[:password] if args[:password]
2523
end
2624

27-
Dovado::Client.supervise_as :client, {
25+
Dovado::Client.supervise as: :client, args: [{
2826
server: @address,
2927
user: user,
3028
password: password
31-
}
32-
33-
Dovado::Router::Info.supervise_as :router_info
34-
router_info = Actor[:router_info]
35-
router_info.local_ip = @address
36-
37-
Dovado::Router::Services.supervise_as :router_services
38-
#info "Starting up..."
29+
}]
3930
end
4031

4132
def services
33+
Dovado::Router::Services.supervise as: :router_services unless Actor[:router_services]
4234
client = Actor[:client]
4335
router_services = Actor[:router_services]
4436
unless router_services.valid?
@@ -47,14 +39,19 @@ def services
4739
string = client.command('services')
4840
router_services.create_from_string string
4941
end
42+
Dovado::Router::Sms.supervise as: :sms unless Actor[:sms]
5043
if router_services.list[:sms] == 'enabled'
44+
Dovado::Router::Info.supervise as: :router_info unless Actor[:router_info]
5145
router_info = Actor[:router_info]
5246
router_info.sms.enabled = true
5347
end
5448
router_services
5549
end
5650

5751
def info
52+
Dovado::Router::Info.supervise as: :router_info unless Actor[:router_info]
53+
router_info = Actor[:router_info]
54+
router_info.local_ip = @address
5855
client = Actor[:client]
5956
router_info = Actor[:router_info]
6057
unless router_info.valid?
@@ -63,26 +60,12 @@ def info
6360
info = client.command('info')
6461
router_info.create_from_string info
6562
end
63+
services
6664
router_info
6765
end
6866

6967
def sms
70-
client = Actor[:client]
71-
router_info = Actor[:router_info]
72-
if router_info.valid?
73-
unless router_info.sms.valid?
74-
client.connect
75-
client.authenticate
76-
unless Actor[:sms]
77-
Dovado::Router::Sms.supervise_as :sms
78-
end
79-
sms = Actor[:sms]
80-
sms.async.create_from_string(client.command('sms list'))
81-
router_info.sms = sms
82-
sms.load_messages
83-
end
84-
end
85-
router_info.sms
68+
info.sms
8669
end
8770

8871
end

lib/dovado/router/info.rb

+5-7
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ module Dovado
66
class Router
77
class Info
88
include Celluloid
9-
include Celluloid::Logger
10-
9+
1110
@data = nil
1211
@up_to_date = false
1312

@@ -20,12 +19,11 @@ def initialize(args=nil)
2019
unless args.nil?
2120
@data = args
2221
end
23-
debug "Starting up #{self.class.to_s}..."
2422
end
2523

2624
def create_from_string data_string=nil
2725
unless Actor[:sms]
28-
Dovado::Router::Sms.supervise_as :sms
26+
Dovado::Router::Sms.supervise as: :sms
2927
end
3028
sms = Actor[:sms]
3129
data_array = data_string.split("\n")
@@ -121,15 +119,15 @@ def traffic_modem_up
121119
end
122120

123121
def traffic_modem_up= traffic_modem_up=nil
124-
@data[:traffic_modem_tx] = traffic_modem_up
122+
@data[:traffic_modem_tx] = traffic_modem_up.to_i
125123
end
126124

127125
def traffic_modem_down
128126
@data[:traffic_modem_rx]
129127
end
130128

131129
def traffic_modem_down= traffic_modem_down=nil
132-
@data[:traffic_modem_rx] = traffic_modem_down
130+
@data[:traffic_modem_rx] = traffic_modem_down.to_i
133131
end
134132

135133
def connection
@@ -183,7 +181,7 @@ def time= time=nil
183181
def sms
184182
if @data[:sms].nil?
185183
unless Actor[:sms]
186-
Dovado::Router::Sms.supervise_as :sms
184+
Dovado::Router::Sms.supervise as: :sms
187185
end
188186
@data[:sms] = Actor[:sms]
189187
end

lib/dovado/router/info/operator.rb

-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ class Router
44
class Info
55
class Operator
66
include Celluloid
7-
include Celluloid::Logger
87

98
attr_accessor :number, :name, :commands
109

@@ -14,7 +13,6 @@ def initialize(args=nil)
1413
unless args.nil?
1514
@number = args[:number] unless args[:number].nil?
1615
end
17-
debug "Starting up #{self.class.to_s}..."
1816
end
1917

2018
end

lib/dovado/router/services.rb

-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module Dovado
33
class Router
44
class Services
55
include Celluloid
6-
include Celluloid::Logger
76

87
attr_accessor :list
98
@up_to_date = nil
@@ -17,7 +16,6 @@ def initialize(args=nil)
1716
end
1817
@up_to_date = true
1918
end
20-
debug "Starting up #{self.class.to_s}..."
2119
end
2220

2321
def create_from_string data_string=nil

lib/dovado/router/sms.rb

+1-4
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ module Dovado
22
class Router
33
class Sms
44
include Celluloid
5-
include Celluloid::Logger
65

76
attr_accessor :unread, :total, :enabled, :ids
87
@ids = nil
98

109
def initialize(args=nil)
11-
Dovado::Router::Sms::Messages.supervise_as :messages
10+
Dovado::Router::Sms::Messages.supervise as: :messages
1211
messages = Actor[:messages]
1312
@enabled = false
1413
@ids = ThreadSafe::Array.new
@@ -18,7 +17,6 @@ def initialize(args=nil)
1817
end
1918
client = Actor[:client]
2019
create_from_string(client.command('sms list'))
21-
debug "Starting up #{self.class.to_s}..."
2220
end
2321

2422
def messages
@@ -55,7 +53,6 @@ def load_messages
5553
client = Actor[:client]
5654
messages = Actor[:messages]
5755
@ids.each do |id|
58-
debug "Dovado::Router::Sms#load_messages: #{id}"
5956
messages.add_message Dovado::Router::Sms::Message.from_string(client.command("sms recvtxt #{id}"))
6057
end
6158
end

0 commit comments

Comments
 (0)