Class: Dashku
Instance Method Summary collapse
- #api_key ⇒ Object
- #api_url ⇒ Object
- #create_dashboard(attrs) ⇒ Object
- #create_widget(attrs) ⇒ Object
- #delete_dashboard(id) ⇒ Object
- #delete_widget(dashboardId, id) ⇒ Object
- #get_dashboard(id) ⇒ Object
- #get_dashboards ⇒ Object
-
#initialize ⇒ Dashku
constructor
A new instance of Dashku.
- #set_api_key(api_key) ⇒ Object
- #set_api_url(api_url) ⇒ Object
- #transmission(data) ⇒ Object
- #update_dashboard(attrs) ⇒ Object
- #update_widget(attrs) ⇒ Object
Constructor Details
#initialize ⇒ Dashku
Returns a new instance of Dashku.
6 7 8 |
# File 'lib/dashku.rb', line 6 def initialize @api_url = "http://176.58.100.203" end |
Instance Method Details
#api_key ⇒ Object
10 11 12 |
# File 'lib/dashku.rb', line 10 def api_key @api_key end |
#api_url ⇒ Object
14 15 16 |
# File 'lib/dashku.rb', line 14 def api_url @api_url end |
#create_dashboard(attrs) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/dashku.rb', line 47 def create_dashboard(attrs) request = self.class.post "/api/dashboards", :query => {:apiKey => @api_key}, :body => attrs if request.response.class == Net::HTTPAccepted return request.parsed_response elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#create_widget(attrs) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/dashku.rb', line 78 def (attrs) dashboardId = attrs["dashboardId"] || attrs[:dashboardId] raise MissingDashboardIdError if dashboardId.nil? request = self.class.post "/api/dashboards/#{dashboardId}/widgets", :query => {:apiKey => @api_key}, :body => attrs if request.response.class == Net::HTTPAccepted return request.parsed_response elsif request.response.class == Net::HTTPBadRequest raise DashboardNotFoundError elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#delete_dashboard(id) ⇒ Object
67 68 69 70 71 72 73 74 75 76 |
# File 'lib/dashku.rb', line 67 def delete_dashboard(id) request = self.class.delete "/api/dashboards/#{id}", :query => {:apiKey => @api_key} if request.response.class == Net::HTTPCreated return request.parsed_response elsif request.response.class == Net::HTTPBadRequest raise DashboardNotFoundError elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#delete_widget(dashboardId, id) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/dashku.rb', line 106 def (dashboardId, id) request = self.class.delete "/api/dashboards/#{dashboardId}/widgets/#{id}", :query => {:apiKey => @api_key} if request.response.class == Net::HTTPCreated return request.parsed_response elsif request.response.class == Net::HTTPBadRequest if request.parsed_response["reason"].match("No dashboard found") raise DashboardNotFoundError else raise WidgetNotFoundError end elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#get_dashboard(id) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/dashku.rb', line 36 def get_dashboard(id) request = self.class.get "/api/dashboards/#{id}", :query => {:apiKey => @api_key} if request.response.class == Net::HTTPOK return request.parsed_response elsif request.response.class == Net::HTTPBadRequest raise DashboardNotFoundError elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#get_dashboards ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/dashku.rb', line 27 def get_dashboards request = self.class.get "/api/dashboards", :query => {:apiKey => @api_key} if request.response.class == Net::HTTPOK return request.parsed_response elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#set_api_key(api_key) ⇒ Object
18 19 20 |
# File 'lib/dashku.rb', line 18 def set_api_key(api_key) @api_key = api_key end |
#set_api_url(api_url) ⇒ Object
22 23 24 25 |
# File 'lib/dashku.rb', line 22 def set_api_url(api_url) self.class.base_uri api_url @api_url = api_url end |
#transmission(data) ⇒ Object
121 122 123 124 125 126 127 128 129 130 |
# File 'lib/dashku.rb', line 121 def transmission(data) request = self.class.post "/api/transmission", :query => {:apiKey => @api_key}, :body => data if request.response.class == Net::HTTPOK return request.parsed_response elsif request.response.class == Net::HTTPBadRequest raise DashboardNotFoundError elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#update_dashboard(attrs) ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/dashku.rb', line 56 def update_dashboard(attrs) id = attrs["_id"] || attrs[:_id] raise MissingIdError if id.nil? request = self.class.put "/api/dashboards/#{id}", :query => {:apiKey => @api_key}, :body => attrs if request.response.class == Net::HTTPCreated return request.parsed_response elsif request.response.class == Net:: raise ApiKeyInvalidError end end |
#update_widget(attrs) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/dashku.rb', line 91 def (attrs) dashboardId = attrs["dashboardId"] || attrs[:dashboardId] raise MissingDashboardIdError if dashboardId.nil? id = attrs["_id"] || attrs[:_id] raise MissingIdError if id.nil? request = self.class.put "/api/dashboards/#{dashboardId}/widgets/#{id}", :query => {:apiKey => @api_key}, :body => attrs if request.response.class == Net::HTTPCreated return request.parsed_response elsif request.response.class == Net::HTTPBadRequest raise DashboardNotFoundError elsif request.response.class == Net:: raise ApiKeyInvalidError end end |