cradlepoint 0.2.0 → 0.2.1
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 +4 -4
- data/.travis.yml +9 -0
- data/lib/cradlepoint.rb +3 -3
- data/lib/cradlepoint/cradlepoint_object.rb +20 -0
- data/lib/cradlepoint/net_device.rb +5 -1
- data/lib/cradlepoint/net_flow.rb +2 -0
- data/lib/cradlepoint/router.rb +3 -4
- data/lib/cradlepoint/version.rb +1 -1
- data/lib/{cradlepoint → utils}/hash_helpers.rb +1 -1
- data/spec/cradlepoint_object_spec.rb +14 -0
- data/spec/net_device_spec.rb +15 -1
- data/spec/router_spec.rb +3 -7
- data/spec/spec_helper.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc0607e7966ce67469b3016b970518cb4f083fa1
|
4
|
+
data.tar.gz: 89d811424d1b64f56a4e93e542e5abed215199a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8bd523c938895c2e7d2c4f29fc1cc517e2da04a48251f18d651597246d9851c4aea5b10dc672c1d1159275bf30f7a38c82386cb825a6b5897fce4c398face2a
|
7
|
+
data.tar.gz: ea2bdcdbf822b8dfd2a9448f122e5b6e301a6950dba010e7d12835280b47357e66f279525aed34084bd8fbbb99df846cdb9ff1c3d99302796ffeaf3401377907
|
data/.travis.yml
ADDED
data/lib/cradlepoint.rb
CHANGED
@@ -3,7 +3,7 @@ require 'rest-client'
|
|
3
3
|
|
4
4
|
require 'cradlepoint/version'
|
5
5
|
|
6
|
-
require '
|
6
|
+
require 'utils/hash_helpers'
|
7
7
|
|
8
8
|
require 'cradlepoint/cradlepoint_object'
|
9
9
|
require 'cradlepoint/account'
|
@@ -62,7 +62,7 @@ module Cradlepoint
|
|
62
62
|
end
|
63
63
|
|
64
64
|
parsed_response['success'] ?
|
65
|
-
|
66
|
-
raise("Unsuccessful response received.") # TODO: Handle more elegantly.
|
65
|
+
Utils::HashHelpers.symbolize_keys(parsed_response['data']) :
|
66
|
+
raise("Unsuccessful response received: #{ parsed_response.inspect }") # TODO: Handle more elegantly.
|
67
67
|
end
|
68
68
|
end
|
@@ -20,5 +20,25 @@ module Cradlepoint
|
|
20
20
|
def params
|
21
21
|
{ params: { format: :json } }
|
22
22
|
end
|
23
|
+
|
24
|
+
def self.successful_response?(response)
|
25
|
+
return false unless response
|
26
|
+
return false if response.is_a?(Hash) and !response[:success]
|
27
|
+
true
|
28
|
+
end
|
29
|
+
|
30
|
+
def successful_response?(response)
|
31
|
+
Cradlepoint::CradlepointObject.successful_response?(response)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.ecm_object_blob?(object_blob)
|
35
|
+
return false unless object_blob
|
36
|
+
return false unless object_blob.is_a?(Hash) and object_blob[:id]
|
37
|
+
true
|
38
|
+
end
|
39
|
+
|
40
|
+
def ecm_object_blob?(object_blob)
|
41
|
+
Cradlepoint::CradlepointObject.ecm_object_blob?(object_blob)
|
42
|
+
end
|
23
43
|
end
|
24
44
|
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module Cradlepoint
|
2
2
|
class NetDevice < CradlepointObject
|
3
|
-
include Cradlepoint::HashHelpers
|
4
3
|
|
5
4
|
attr_accessor :id, :router, :data, :bytes_in, :bytes_out, :carrier, :esn, :imei, :info,
|
6
5
|
:ip_address, :mac, :mode, :name, :type, :uptime, :netmask, :dns0, :dns1,
|
@@ -41,6 +40,10 @@ module Cradlepoint
|
|
41
40
|
assign_attributes_from_data(group: true)
|
42
41
|
end
|
43
42
|
|
43
|
+
def get_all_from_router_as_hash
|
44
|
+
Cradlepoint.make_request(:get, build_url(rel_url_from_router))
|
45
|
+
end
|
46
|
+
|
44
47
|
def assign_attributes_from_data(options = {})
|
45
48
|
return unless self.data and self.data.any?
|
46
49
|
raw_data = self.data
|
@@ -64,6 +67,7 @@ module Cradlepoint
|
|
64
67
|
def assign_attributes_from_blob(blob = {})
|
65
68
|
return unless blob and blob.any?
|
66
69
|
|
70
|
+
self.data = blob
|
67
71
|
self.connection_state = blob[:connection_state]
|
68
72
|
self.bytes_in = blob[:bytes_in]
|
69
73
|
self.bytes_out = blob[:bytes_out]
|
data/lib/cradlepoint/net_flow.rb
CHANGED
@@ -18,11 +18,13 @@ module Cradlepoint
|
|
18
18
|
|
19
19
|
def get
|
20
20
|
raise 'You must provide a mac' unless self.mac
|
21
|
+
return self.data if self.data
|
21
22
|
self.data = Cradlepoint.make_request(:get, build_new_url(rel_url), params)
|
22
23
|
end
|
23
24
|
|
24
25
|
def get_status
|
25
26
|
raise 'You must provide a mac' unless self.mac
|
27
|
+
return self.status_data if self.status_data
|
26
28
|
self.status_data = Cradlepoint.make_request(:get, build_new_url("#{ rel_url }/status"), params)
|
27
29
|
end
|
28
30
|
|
data/lib/cradlepoint/router.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module Cradlepoint
|
2
2
|
class Router < CradlepointObject
|
3
|
-
include Cradlepoint::HashHelpers
|
4
3
|
|
5
4
|
attr_accessor :id, :data, :ecm_firmware_uri, :ecm_configuration_uri,
|
6
5
|
:ecm_configuration_manager_uri, :ecm_configuration_manager_data,
|
@@ -62,7 +61,7 @@ module Cradlepoint
|
|
62
61
|
|
63
62
|
def firmware_data
|
64
63
|
check_for_id_or_raise_error
|
65
|
-
Cradlepoint.make_request(:get, build_url(firmware_uri.split('/api/v1').last))
|
64
|
+
Cradlepoint.make_request(:get, build_url(firmware_uri.split('/api/v1').last)) if firmware_uri
|
66
65
|
end
|
67
66
|
|
68
67
|
def firmware_uri
|
@@ -112,12 +111,12 @@ module Cradlepoint
|
|
112
111
|
private
|
113
112
|
|
114
113
|
def self.build_array_of_routers_from_response(response)
|
115
|
-
return unless response
|
114
|
+
return false unless successful_response?(response)
|
116
115
|
response.map { |r| create_and_assign_attributes_from_data(r) }
|
117
116
|
end
|
118
117
|
|
119
118
|
def self.create_and_assign_attributes_from_data(data)
|
120
|
-
return unless
|
119
|
+
return unless ecm_object_blob?(data)
|
121
120
|
router = Cradlepoint::Router.new(data[:id], data: data)
|
122
121
|
router.assign_attributes_from_data
|
123
122
|
router
|
data/lib/cradlepoint/version.rb
CHANGED
@@ -19,5 +19,19 @@ describe Cradlepoint::CradlepointObject do
|
|
19
19
|
it 'should return the correct url' do
|
20
20
|
cradlepoint_object.build_url('/blah').should == url
|
21
21
|
end
|
22
|
+
|
23
|
+
describe '.successful_response?' do
|
24
|
+
|
25
|
+
let(:successful_response) { [] }
|
26
|
+
let(:unsuccessful_responses) { [nil, { success: false }] }
|
27
|
+
|
28
|
+
it 'should think a successful response is successful' do
|
29
|
+
cradlepoint_object.successful_response?(successful_response).should be_true
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should think unsuccessful responses are unsuccessful' do
|
33
|
+
unsuccessful_responses.each { |r| cradlepoint_object.successful_response?(r).should be_false }
|
34
|
+
end
|
35
|
+
end
|
22
36
|
end
|
23
37
|
end
|
data/spec/net_device_spec.rb
CHANGED
@@ -16,11 +16,25 @@ describe Cradlepoint::NetDevice do
|
|
16
16
|
|
17
17
|
context 'when authenticated' do
|
18
18
|
|
19
|
+
let(:router) { Cradlepoint::Router.new(ROUTER_ID) }
|
20
|
+
|
19
21
|
before { login }
|
20
22
|
|
23
|
+
describe '.get_all_from_router_as_hash' do
|
24
|
+
|
25
|
+
let(:response) { net_device.new(nil, router).get_all_from_router_as_hash }
|
26
|
+
|
27
|
+
subject { response }
|
28
|
+
it { should be }
|
29
|
+
|
30
|
+
it 'should return a an array of hashes' do
|
31
|
+
response.is_a?(Array).should be_true
|
32
|
+
response.each { |h| h.is_a?(Hash).should be_true }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
21
36
|
describe '.get_all_from_router' do
|
22
37
|
|
23
|
-
let(:router) { Cradlepoint::Router.new(ROUTER_ID) }
|
24
38
|
let(:device) { net_device.new(nil, router) }
|
25
39
|
let(:devices) { device.get_all_from_router }
|
26
40
|
|
data/spec/router_spec.rb
CHANGED
@@ -69,14 +69,10 @@ describe Cradlepoint::Router do
|
|
69
69
|
|
70
70
|
let(:the_router) { router.new(ROUTER_ID) }
|
71
71
|
|
72
|
-
it 'should
|
73
|
-
|
74
|
-
the_router.firmware_data
|
72
|
+
it 'should return nil when no firmware_uri exists' do
|
73
|
+
the_router.ecm_firmware_uri = nil
|
74
|
+
the_router.firmware_data.should be_nil
|
75
75
|
end
|
76
76
|
end
|
77
|
-
|
78
|
-
describe '.apply_new_config' do
|
79
|
-
|
80
|
-
end
|
81
77
|
end
|
82
78
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cradlepoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- uceem
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -88,6 +88,7 @@ extensions: []
|
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
90
|
- .gitignore
|
91
|
+
- .travis.yml
|
91
92
|
- Gemfile
|
92
93
|
- LICENSE.txt
|
93
94
|
- README.md
|
@@ -97,12 +98,12 @@ files:
|
|
97
98
|
- lib/cradlepoint/account.rb
|
98
99
|
- lib/cradlepoint/config.rb
|
99
100
|
- lib/cradlepoint/cradlepoint_object.rb
|
100
|
-
- lib/cradlepoint/hash_helpers.rb
|
101
101
|
- lib/cradlepoint/net_device.rb
|
102
102
|
- lib/cradlepoint/net_flow.rb
|
103
103
|
- lib/cradlepoint/router.rb
|
104
104
|
- lib/cradlepoint/version.rb
|
105
105
|
- lib/cradlepoint/wlan_survey.rb
|
106
|
+
- lib/utils/hash_helpers.rb
|
106
107
|
- script/.gitkeep
|
107
108
|
- spec/account_spec.rb
|
108
109
|
- spec/config_spec.rb
|
@@ -132,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
133
|
version: '0'
|
133
134
|
requirements: []
|
134
135
|
rubyforge_project:
|
135
|
-
rubygems_version: 2.0.
|
136
|
+
rubygems_version: 2.0.7
|
136
137
|
signing_key:
|
137
138
|
specification_version: 4
|
138
139
|
summary: Cradlepoint ECM API gem
|