Class: Cradlepoint::Router
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
build_new_url, #build_new_url, #build_url, build_url, ecm_object_blob?, #ecm_object_blob?, #params, #successful_response?, successful_response?
Constructor Details
#initialize(id = nil, options = {}) ⇒ Router
Returns a new instance of Router.
10
11
12
13
|
# File 'lib/cradlepoint/router.rb', line 10
def initialize(id = nil, options = {})
self.id = id
options.each { |k, v| send("#{ k }=", v) if v }
end
|
Instance Attribute Details
#config_status ⇒ Object
Returns the value of attribute config_status.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def config_status
@config_status
end
|
#data ⇒ Object
Returns the value of attribute data.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def data
@data
end
|
#description ⇒ Object
Returns the value of attribute description.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def description
@description
end
|
#ecm_configuration_manager_data ⇒ Object
Returns the value of attribute ecm_configuration_manager_data.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def ecm_configuration_manager_data
@ecm_configuration_manager_data
end
|
#ecm_configuration_manager_uri ⇒ Object
Returns the value of attribute ecm_configuration_manager_uri.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def ecm_configuration_manager_uri
@ecm_configuration_manager_uri
end
|
#ecm_configuration_uri ⇒ Object
Returns the value of attribute ecm_configuration_uri.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def ecm_configuration_uri
@ecm_configuration_uri
end
|
#ecm_firmware_uri ⇒ Object
Returns the value of attribute ecm_firmware_uri.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def ecm_firmware_uri
@ecm_firmware_uri
end
|
#full_product_name ⇒ Object
Returns the value of attribute full_product_name.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def full_product_name
@full_product_name
end
|
#group_name ⇒ Object
Returns the value of attribute group_name.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def group_name
@group_name
end
|
#id ⇒ Object
Returns the value of attribute id.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def id
@id
end
|
#ip_address ⇒ Object
Returns the value of attribute ip_address.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def ip_address
@ip_address
end
|
#mac ⇒ Object
Returns the value of attribute mac.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def mac
@mac
end
|
#name ⇒ Object
Returns the value of attribute name.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def name
@name
end
|
#stream_usage_in ⇒ Object
Returns the value of attribute stream_usage_in.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def stream_usage_in
@stream_usage_in
end
|
#stream_usage_out ⇒ Object
Returns the value of attribute stream_usage_out.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def stream_usage_out
@stream_usage_out
end
|
#stream_usage_period ⇒ Object
Returns the value of attribute stream_usage_period.
4
5
6
|
# File 'lib/cradlepoint/router.rb', line 4
def stream_usage_period
@stream_usage_period
end
|
Class Method Details
.index ⇒ Object
39
40
41
|
# File 'lib/cradlepoint/router.rb', line 39
def self.index
build_array_of_routers_from_response(Cradlepoint.make_request(:get, build_url(rel_url)))
end
|
.rel_url ⇒ Object
15
16
17
|
# File 'lib/cradlepoint/router.rb', line 15
def self.rel_url
'/routers'
end
|
.rel_url_for_configuration_managers(id) ⇒ Object
31
32
33
|
# File 'lib/cradlepoint/router.rb', line 31
def self.rel_url_for_configuration_managers(id)
"#{ Cradlepoint::Router.rel_url_with_id(id) }/confguration_managers/"
end
|
.rel_url_with_id(id) ⇒ Object
23
24
25
|
# File 'lib/cradlepoint/router.rb', line 23
def self.rel_url_with_id(id)
"#{ rel_url }/#{ id }/"
end
|
Instance Method Details
#apply_new_config(config_settings = {}) ⇒ Object
50
51
52
53
54
55
|
# File 'lib/cradlepoint/router.rb', line 50
def apply_new_config(config_settings = {})
config = Cradlepoint::Config.new(self, config_settings)
config.create_editor
config.apply_config_to_editor
config.remove_editor
end
|
#assign_attributes_from_data ⇒ Object
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/cradlepoint/router.rb', line 115
def assign_attributes_from_data
return unless self.data and self.data.any?
self.mac = self.data[:mac]
self.name = self.data[:name]
self.ip_address = self.data[:ip_address]
self.config_status = self.data[:config_status]
self.description = self.data[:description]
self.full_product_name = self.data[:full_product_name]
self.stream_usage_in = self.data[:stream_usage_in]
self.stream_usage_out = self.data[:stream_usage_out]
self.stream_usage_period = self.data[:stream_usage_period]
end
|
#configuration_manager_data ⇒ Object
57
58
59
60
61
|
# File 'lib/cradlepoint/router.rb', line 57
def configuration_manager_data
check_for_id_or_raise_error
lazy_load_configuration_manager_data unless self.ecm_configuration_manager_data
self.ecm_configuration_manager_data
end
|
#configuration_uri ⇒ Object
73
74
75
76
77
|
# File 'lib/cradlepoint/router.rb', line 73
def configuration_uri
lazy_load_router_data unless self.ecm_configuration_manager_uri
lazy_load_configuration_manager_data unless self.ecm_configuration_uri
self.ecm_configuration_uri
end
|
#firmware_data ⇒ Object
63
64
65
66
|
# File 'lib/cradlepoint/router.rb', line 63
def firmware_data
check_for_id_or_raise_error
Cradlepoint.make_request(:get, build_url(firmware_uri.split('/api/v1').last)) if firmware_uri
end
|
#firmware_uri ⇒ Object
68
69
70
71
|
# File 'lib/cradlepoint/router.rb', line 68
def firmware_uri
lazy_load_router_data unless self.ecm_firmware_uri
self.ecm_firmware_uri
end
|
#get ⇒ Object
43
44
45
46
47
48
|
# File 'lib/cradlepoint/router.rb', line 43
def get
check_for_id_or_raise_error
self.data = Cradlepoint.make_request(:get, build_url(rel_url_with_id))
assign_attributes_from_data
self.data
end
|
#get_configuration_editor_data ⇒ Object
107
108
109
110
111
112
113
|
# File 'lib/cradlepoint/router.rb', line 107
def get_configuration_editor_data
{
account: '/api/v1' + Cradlepoint.account.rel_url_with_id,
firmware: firmware_uri,
router: '/api/v1' + rel_url_with_id
}
end
|
#group ⇒ Object
79
80
81
82
83
84
85
86
87
|
# File 'lib/cradlepoint/router.rb', line 79
def group
get unless self.data and self.data.any?
return nil unless self.data[:group]
group_data = Cradlepoint.make_request(:get, build_url(self.data[:group].split('/api/v1').last))
return unless group_data
self.group_name = group_data[:name]
group_data
end
|
#group_list ⇒ Object
89
90
91
92
93
94
|
# File 'lib/cradlepoint/router.rb', line 89
def group_list
get unless self.data and self.data.any?
return nil unless self.data[:group]
Cradlepoint.make_request(:get, build_url(self.data[:group].split('/api/v1').last + '/routers'))
end
|
#lazy_load_configuration_manager_data ⇒ Object
102
103
104
105
|
# File 'lib/cradlepoint/router.rb', line 102
def lazy_load_configuration_manager_data
self.ecm_configuration_manager_data = Cradlepoint.make_request(:get, build_url(rel_url_for_configuration_managers))
self.ecm_configuration_uri = self.ecm_configuration_manager_data[:configuration_manager]
end
|
#lazy_load_router_data ⇒ Object
96
97
98
99
100
|
# File 'lib/cradlepoint/router.rb', line 96
def lazy_load_router_data
get self.ecm_firmware_uri = self.data[:actual_firmware]
self.ecm_configuration_manager_uri = self.data[:configuration_manager]
end
|
#rel_url_for_configuration_managers ⇒ Object
#rel_url_with_id ⇒ Object