scout_api 0.9.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -5,4 +5,8 @@ Initial release.
5
5
  == 0.9.1
6
6
 
7
7
  * Fixed Ruby 1.9.2 issue accessing Server#key
8
- * Documentation updates
8
+ * Documentation updates
9
+
10
+ == 1.0.0
11
+
12
+ * Updates for YARD documentation formatting
data/README.rdoc CHANGED
@@ -18,9 +18,9 @@ Require the gem and authenticate to get your Scout on:
18
18
 
19
19
  You can query for the following high-level objects:
20
20
 
21
- * Scout::Server
22
- * Scout::Group
23
- * Scout::Metric
21
+ * {Scout::Server}
22
+ * {Scout::Group}
23
+ * {Scout::Metric}
24
24
 
25
25
  Each of the classes have Rails-like finder methods. For example:
26
26
 
@@ -66,6 +66,10 @@ Create and delete servers:
66
66
  # delete the server with id=10
67
67
  Scout::Server.delete(10)
68
68
 
69
+ == Ruby Compatibility
70
+
71
+ scout_api has been tested against Ruby 1.8.6, Ruby 1.8.7, and Ruby 1.9.2.
72
+
69
73
  == Note on Patches/Pull Requests
70
74
 
71
75
  * Fork the project[https://github.com/highgroove/scout-api].
@@ -13,7 +13,7 @@ class Scout::Account
13
13
 
14
14
  # Recent alerts across all servers on this account
15
15
  #
16
- # @return [Array] An array of Scout::Alert objects
16
+ # @return [Array] An array of {Scout::Alert} objects
17
17
  def alerts
18
18
  response = self.class.get("/activities.xml")
19
19
  response['alerts'] ? response['alerts'].map { |alert| Scout::Alert.new(alert) } : Array.new
@@ -48,10 +48,13 @@ class Scout::Account
48
48
  alias_method :http_get, :get
49
49
  end
50
50
 
51
+ # Wraps GET requests with error handling, attaches to the authenticated account, and
52
+ # adds the library version as a parameter.
53
+ #
51
54
  # Checks for errors via the HTTP status code. If an error is found, a
52
55
  # Scout::Error is raised. Otherwise, the response.
53
56
  #
54
- # @return HTTParty::Response
57
+ # @return [HTTParty::Response]
55
58
  def self.get(uri)
56
59
  raise Scout::Error,
57
60
  "Authentication is required (scout = Scout::Account.new('youraccountname', 'your@awesome.com', 'sekret'))" if param.nil?
@@ -1,20 +1,37 @@
1
1
  # Groups represent a collection of servers.
2
2
  # They can be created in the Scout UI to put similar servers together (ex: Web Servers, Database Servers).
3
3
  class Scout::Group < Hashie::Mash
4
- # Retrieve metric information. See Scout::Metric#average for a list of options for the calculation
4
+ # Retrieve metric information. See {Scout::Metric.average} for a list of options for the calculation
5
5
  # methods (average, minimum, maximum).
6
6
  #
7
7
  # Examples:
8
8
  #
9
- # * <tt>Scout::Group.metrics => All metrics associated with this group.</tt>
10
- # * <tt>Scout::Group.metrics.all(:name => 'Memory Used') => Metrics with name =~ 'Memory Used' across all servers in this group.</tt>
11
- # * <tt>Scout::Group.metrics.average(:name => 'Memory Used') => Average value of metrics with name =~ 'Memory Used' across all servers in the group.</tt>
12
- # * <tt>Scout::Group.metrics.maximum(:name => 'Memory Used')</tt>
13
- # * <tt>Scout::Group.metrics.minimum(:name => 'Memory Used')</tt>
14
- # * <tt>Scout::Group.metrics.average(:name => 'request_rate', :aggregate => true) => Sum metrics, then take average</tt>
15
- # * <tt>Scout::Group.metrics.average(:name => 'request_rate', :start => Time.now.utc-5*3600, :end => Time.now.utc-2*3600) => Retrieve data starting @ 5 hours ago ending at 2 hours ago</tt>
16
- # * <tt>Scout::Group.metrics.average(:name => 'Memory Used').to_array => An array of time series values over the past hour.</tt>
17
- # * <tt>Scout::Group.metrics.average(:name => 'Memory Used').to_sparkline => A Url to a Google Sparkline Chart.</tt>
9
+ # # All metrics associated with this group.
10
+ # Scout::Group.metrics
11
+ #
12
+ # # Metrics with name =~ 'Memory Used' across all servers in this group.
13
+ # Scout::Group.metrics.all(:name => 'Memory Used')
14
+ #
15
+ # # Average value of metrics with name =~ 'Memory Used' across all servers in the group
16
+ # Scout::Group.metrics.average(:name => 'Memory Used')
17
+ #
18
+ # # Maximum value ...
19
+ # Scout::Group.metrics.maximum(:name => 'Memory Used')
20
+ #
21
+ # # Minimum value ...
22
+ # Scout::Group.metrics.minimum(:name => 'Memory Used')
23
+ #
24
+ # # Sum metrics, then take average
25
+ # Scout::Group.metrics.average(:name => 'request_rate', :aggregate => true)
26
+ #
27
+ # # Retrieve data starting @ 5 hours ago ending at 2 hours ago
28
+ # Scout::Group.metrics.average(:name => 'request_rate', :start => Time.now.utc-5*3600, :end => Time.now.utc-2*3600)
29
+ #
30
+ # # An array of time series values over the past hour
31
+ # Scout::Group.metrics.average(:name => 'Memory Used').to_array
32
+ #
33
+ # # A Url to a Google Sparkline Chart
34
+ # Scout::Group.metrics.average(:name => 'Memory Used').to_sparkline
18
35
  attr_reader :metrics
19
36
 
20
37
  def initialize(hash) #:nodoc:
@@ -24,9 +41,9 @@ class Scout::Group < Hashie::Mash
24
41
 
25
42
  # Finds the first group that meets the given conditions. Possible parameter formats:
26
43
  #
27
- # * <tt>Scout::Group.first</tt>
28
- # * <tt>Scout::Group.first(1)</tt>
29
- # * <tt>Scout::Group.first(:name => 'db slaves')</tt>
44
+ # Scout::Group.first
45
+ # Scout::Group.first(1)
46
+ # Scout::Group.first(:name => 'db slaves')
30
47
  #
31
48
  # For the <tt>:name</tt>, a {MySQL-formatted Regex}[http://dev.mysql.com/doc/refman/5.0/en/regexp.html] can be used.
32
49
  #
@@ -53,8 +70,8 @@ class Scout::Group < Hashie::Mash
53
70
 
54
71
  # Finds all groups that meets the given conditions. Possible parameter formats:
55
72
  #
56
- # * <tt>Scout::Group.all</tt>
57
- # * <tt>Scout::Group.all(:name => 'web')</tt>
73
+ # Scout::Group.all
74
+ # Scout::Group.all(:name => 'web')
58
75
  #
59
76
  # For the <tt>:name</tt>, a {MySQL-formatted Regex}[http://dev.mysql.com/doc/refman/5.0/en/regexp.html] can be used.
60
77
  #
@@ -40,16 +40,17 @@ class Scout::Metric < Hashie::Mash
40
40
  end
41
41
  end
42
42
 
43
- # Search for metrics. MetricProxy uses this method to search for metrics. Refer to MetricProxy#all.
43
+ # Finds all metrics that match the conditons specified via <tt>options</tt>. {MetricProxy} uses this method to search for metrics.
44
+ # Refer to {MetricProxy#all} for examples.
44
45
  #
45
- # @return [Array] An array of Scout::Metric objects
46
+ # @return [Array] An array of {Scout::Metric} objects
46
47
  def self.all(options = {})
47
48
  raise Scout::Error, "A finder condition is required" if options.empty?
48
49
  response = Scout::Account.get("/descriptors.xml?name=#{CGI.escape(options[:name].to_s)}&ids=&plugin_ids=#{options[:plugin_ids]}&server_ids=#{options[:server_ids]}&group_ids=#{options[:group_ids]}")
49
50
  response['ar_descriptors'] ? response['ar_descriptors'].map { |descriptor| Scout::Metric.new(descriptor) } : Array.new
50
51
  end
51
52
 
52
- # Find the average value of a metric by ID or name (ex: <tt>'disk_used'</tt>). If the metric couldn't be found AND/OR
53
+ # The average value of a metric by ID or name (ex: <tt>'disk_used'</tt>). If the metric couldn't be found AND/OR
53
54
  # hasn't reported since <tt>options[:start]</tt>, a [Scout::Error] is raised.
54
55
  #
55
56
  # A 3-element Hash is returned with the following keys:
@@ -93,18 +94,18 @@ class Scout::Metric < Hashie::Mash
93
94
  calculate('AVG',id_or_name,options)
94
95
  end
95
96
 
96
- # Find the maximum value of a metric by ID or name (ex: 'last_minute').
97
+ # The maximum value of a metric by ID or name (ex: <tt>'last_minute'</tt>).
97
98
  #
98
- # See +average+ for options and examples.
99
+ # Uses the same parameters as {average}. See {average} for options and examples.
99
100
  #
100
101
  # @return [Hash]
101
102
  def self.maximum(id_or_name,options = {})
102
103
  calculate('MAX',id_or_name,options)
103
104
  end
104
105
 
105
- # Find the minimum value of a metric by ID or name (ex: 'last_minute').
106
+ # The minimum value of a metric by ID or name (<tt>ex: 'last_minute'</tt>).
106
107
  #
107
- # See +average+ for options and examples.
108
+ # Uses the same parameters as {average}. See {average} for options and examples.
108
109
  #
109
110
  # @return [Hash]
110
111
  def self.minimum(id_or_name,options = {})
@@ -113,7 +114,7 @@ class Scout::Metric < Hashie::Mash
113
114
 
114
115
  # Returns time series data.
115
116
  #
116
- # @return [Array]. This is a two-dimensional array, with the first element being the time in UTC and the second the value at that time.
117
+ # @return [Array] This is a two-dimensional array. The 1st element is the [Time] in UTC. The 2nd element is the value at that time as a [Float].
117
118
  def self.to_array(function,id_or_name,options = {})
118
119
  start_time,end_time=format_times(options)
119
120
  consolidate,name,ids=series_options(id_or_name,options)
@@ -132,9 +133,9 @@ class Scout::Metric < Hashie::Mash
132
133
  #
133
134
  # <b>Options:</b>
134
135
  #
135
- # * <tt>:size</tt> - The size of the image in pixels. Default is 200x30.
136
- # * <tt>:line_color</tt> - The color of the line. Default is 0077cc (blue).
137
- # * <tt>:line_width</tt> - The width of the line in pixels. Default is 2.
136
+ # * <tt>:size</tt> - The size of the image in pixels. Default is <tt>'200x30'</tt>.
137
+ # * <tt>:line_color</tt> - The color of the line. Default is <tt>'0077cc'</tt> (blue).
138
+ # * <tt>:line_width</tt> - The width of the line in pixels. Default is <tt>2</t>.
138
139
  #
139
140
  # @return [String]
140
141
  def self.to_sparkline(function,id_or_name,options = {})
@@ -151,7 +152,7 @@ class Scout::Metric < Hashie::Mash
151
152
  end
152
153
  end
153
154
 
154
- # See Scout::Metric#average for a list of options.
155
+ # The average value for this metric. See {Scout::Metric#average} for a list of options.
155
156
  #
156
157
  # @return [Hash]
157
158
  def average(opts = {})
@@ -160,7 +161,7 @@ class Scout::Metric < Hashie::Mash
160
161
  end
161
162
  alias avg average
162
163
 
163
- # See Scout::Metric#average for a list of options.
164
+ # The maximum value for this metric. See {Scout::Metric#average} for a list of options.
164
165
  #
165
166
  # @return [Hash]
166
167
  def maximum(opts = {})
@@ -169,7 +170,7 @@ class Scout::Metric < Hashie::Mash
169
170
  end
170
171
  alias max maximum
171
172
 
172
- # See Scout::Metric#average for a list of options.
173
+ # The minimum value for this metric. See {Scout::Metric#average} for a list of options.
173
174
  #
174
175
  # @return [Hash]
175
176
  def minimum(opts = {})
@@ -178,8 +179,7 @@ class Scout::Metric < Hashie::Mash
178
179
  end
179
180
  alias min minimum
180
181
 
181
- # Metrics are identified by either their given ID or their name. If ID is present,
182
- # use it.
182
+ # Metrics are identified by either their given ID or their name. Prefers ID.
183
183
  def identifier #:nodoc:
184
184
  id? ? id : name
185
185
  end
@@ -3,8 +3,11 @@
3
3
  # See http://stackoverflow.com/questions/1529606/how-do-rails-association-methods-work for background
4
4
  #
5
5
  # Example usage:
6
- # group.metrics => all metrics associated with the group
7
- # server.metrics.average('idle') => average value of all metrics w/name 'idle' associated with the server
6
+ #
7
+ # # all metrics associated with the group
8
+ # group.metrics
9
+ # # average value of all metrics w/name 'idle' associated with the server
10
+ # server.metrics.average(:name => 'idle')
8
11
  class Scout::MetricProxy
9
12
  instance_methods.each { |m| undef_method m unless m =~ /(^__|^nil\?$|^send$|proxy_|^object_id$|is\_a\?)/ }
10
13
  attr_reader :owner
@@ -16,9 +19,10 @@ class Scout::MetricProxy
16
19
  @max_calc = Scout::MetricCalculation.new(self,:MAX)
17
20
  end
18
21
 
19
- # Calculate the average value of the metric w/<tt>:name => metric_name</tt> associated with the proxy owner (Group, Server, or Plugin).
22
+ # Calculate the average value of the metric w/<tt>:name => metric_name</tt> associated with the proxy owner
23
+ # ({Scout::Group}, {Scout::Server}, or {Scout::Plugin}).
20
24
  #
21
- # See Metric#average for options.
25
+ # See {Metric#average} for options.
22
26
  #
23
27
  # @return [Hash]
24
28
  def average(options)
@@ -28,7 +32,7 @@ class Scout::MetricProxy
28
32
  end
29
33
  alias avg average
30
34
 
31
- # Calculate the minimum value of the metric w/<tt>:name => metric_name</tt> associated with the proxy owner (Group, Server, or Plugin).
35
+ # Calculate the minimum value of the metric w/<tt>:name => metric_name</tt> associated with the proxy owner ({Scout::Group}, {Scout::Server}, or {Scout::Plugin}).
32
36
  #
33
37
  # See Metric#average for options.
34
38
  #
@@ -40,7 +44,7 @@ class Scout::MetricProxy
40
44
  end
41
45
  alias min minimum
42
46
 
43
- # Calculate the maximum value of the metric w/<tt>:name => metric_name</tt> associated with the proxy owner (Group, Server, or Plugin).
47
+ # Calculate the maximum value of the metric w/<tt>:name => metric_name</tt> associated with the proxy owner ({Scout::Group}, {Scout::Server}, or {Scout::Plugin}).
44
48
  #
45
49
  # See Metric#average for options.
46
50
  #
@@ -52,7 +56,7 @@ class Scout::MetricProxy
52
56
  end
53
57
  alias max maximum
54
58
 
55
- # Find all metrics w/ <tt>:name => metric_name</tt> associated with the proxy owner (Group, Server, or Plugin).
59
+ # Find all metrics w/ <tt>:name => metric_name</tt> associated with the proxy owner ({Scout::Group}, {Scout::Server}, or {Scout::Plugin}).
56
60
  #
57
61
  # Example:
58
62
  #
@@ -1,20 +1,37 @@
1
1
  class Scout::Plugin < Hashie::Mash
2
2
  attr_accessor :server
3
3
 
4
- # Retrieve metric information. See Scout::Metric#average for a list of options for the calculation
4
+ # Retrieve metric information. See {Scout::Metric.average} for a list of options for the calculation
5
5
  # methods (average, minimum, maximum).
6
6
  #
7
7
  # Examples:
8
8
  #
9
- # * <tt>Scout::Plugin.metrics => All metrics associated with this plugin.</tt>
10
- # * <tt>Scout::Plugin.metrics.all(:name => 'Memory Used') => Metrics with name =~ 'Memory Used' on this plugin.</tt>
11
- # * <tt>Scout::Plugin.metrics.average(:name => 'Memory Used') => Average value of metrics with name =~ 'Memory Used' on this plugin.</tt>
12
- # * <tt>Scout::Plugin.metrics.maximum(:name => 'Memory Used')</tt>
13
- # * <tt>Scout::Plugin.metrics.minimum(:name => 'Memory Used')</tt>
14
- # * <tt>Scout::Plugin.metrics.average(:name => 'request_rate', :aggregate => true) => Sum metrics, then take average</tt>
15
- # * <tt>Scout::Plugin.metrics.average(:name => 'request_rate', :start => Time.now.utc-5*3600, :end => Time.now.utc-2*3600) => Retrieve data starting @ 5 hours ago ending at 2 hours ago</tt>
16
- # * <tt>Scout::Plugin.metrics.average(:name => 'Memory Used').to_array => An array of time series values over the past hour.</tt>
17
- # * <tt>Scout::Plugin.metrics.average(:name => 'Memory Used').to_sparkline => A Url to a Google Sparkline Chart.</tt>
9
+ # # All metrics associated with this plugin.
10
+ # Scout::Plugin.metrics
11
+ #
12
+ # # Metrics with name =~ 'Memory Used' on this plugin.
13
+ # Scout::Plugin.metrics.all(:name => 'Memory Used')
14
+ #
15
+ # # Average value of metrics with name =~ 'Memory Used' on this plugin.
16
+ # Scout::Plugin.metrics.average(:name => 'Memory Used')
17
+ #
18
+ # # Maximum value...
19
+ # Scout::Plugin.metrics.maximum(:name => 'Memory Used')
20
+ #
21
+ # # Minumum value...
22
+ # Scout::Plugin.metrics.minimum(:name => 'Memory Used')
23
+ #
24
+ # # Sum metrics, then take average
25
+ # Scout::Plugin.metrics.average(:name => 'request_rate', :aggregate => true)
26
+ #
27
+ # # Retrieve data starting @ 5 hours ago ending at 2 hours ago
28
+ # Scout::Plugin.metrics.average(:name => 'request_rate', :start => Time.now.utc-5*3600, :end => Time.now.utc-2*3600)
29
+ #
30
+ # # An array of time series values over the past hour
31
+ # Scout::Plugin.metrics.average(:name => 'Memory Used').to_array
32
+ #
33
+ # # A Url to a Google Sparkline Chart.
34
+ # Scout::Plugin.metrics.average(:name => 'Memory Used').to_sparkline
18
35
  attr_reader :metrics
19
36
 
20
37
  attr_reader :descriptor_hash #:nodoc:
@@ -1,18 +1,35 @@
1
1
  class Scout::Server < Hashie::Mash
2
- # Retrieve metric information. See Scout::Metric#average for a list of options for the calculation
2
+ # Retrieve metric information. See {Scout::Metric.average} for a list of options for the calculation
3
3
  # methods (average, minimum, maximum).
4
4
  #
5
5
  # Examples:
6
6
  #
7
- # * <tt>Scout::Server.metrics => All metrics associated with this server.</tt>
8
- # * <tt>Scout::Server.metrics.all(:name => 'Memory Used') => Metrics with name =~ 'Memory Used' on this server.</tt>
9
- # * <tt>Scout::Server.metrics.average(:name => 'Memory Used') => Average value of metrics with name =~ 'Memory Used' on this server.</tt>
10
- # * <tt>Scout::Server.metrics.maximum(:name => 'Memory Used')</tt>
11
- # * <tt>Scout::Server.metrics.minimum(:name => 'Memory Used')</tt>
12
- # * <tt>Scout::Server.metrics.average(:name => 'request_rate', :aggregate => true) => Sum metrics, then take average</tt>
13
- # * <tt>Scout::Server.metrics.average(:name => 'request_rate', :start => Time.now.utc-5*3600, :end => Time.now.utc-2*3600) => Retrieve data starting @ 5 hours ago ending at 2 hours ago</tt>
14
- # * <tt>Scout::Server.metrics.average(:name => 'Memory Used').to_array => An array of time series values over the past hour.</tt>
15
- # * <tt>Scout::Server.metrics.average(:name => 'Memory Used').to_sparkline => A Url to a Google Sparkline Chart.</tt>
7
+ # # All metrics associated with this server.
8
+ # Scout::Server.metrics
9
+ #
10
+ # # Metrics with name =~ 'Memory Used' on this server.
11
+ # Scout::Server.metrics.all(:name => 'Memory Used')
12
+ #
13
+ # # Average value of metrics with name =~ 'Memory Used' on this server.
14
+ # Scout::Server.metrics.average(:name => 'Memory Used')
15
+ #
16
+ # # Maximum value...
17
+ # Scout::Server.metrics.maximum(:name => 'Memory Used')
18
+ #
19
+ # # Minimum value...
20
+ # Scout::Server.metrics.minimum(:name => 'Memory Used')
21
+ #
22
+ # # Sum metrics, then take average
23
+ # Scout::Server.metrics.average(:name => 'request_rate', :aggregate => true)
24
+ #
25
+ # # Retrieve data starting @ 5 hours ago ending at 2 hours ago
26
+ # Scout::Server.metrics.average(:name => 'request_rate', :start => Time.now.utc-5*3600, :end => Time.now.utc-2*3600)
27
+ #
28
+ # # An array of time series values over the past hour.
29
+ # Scout::Server.metrics.average(:name => 'Memory Used').to_array
30
+ #
31
+ # # A Url to a Google Sparkline Chart.
32
+ # Scout::Server.metrics.average(:name => 'Memory Used').to_sparkline
16
33
  attr_reader :metrics
17
34
 
18
35
  def initialize(hash) #:nodoc:
@@ -24,17 +41,19 @@ class Scout::Server < Hashie::Mash
24
41
  super(hash)
25
42
  end
26
43
 
44
+ # Returns the key identifier for this server (ex: '<tt>6ecad322-0d17-4cb8-9b2c-a12c4541853f</tt>').
45
+ #
27
46
  # Ruby 1.9.2 Hash#key is a method. This overrides so +key+ returns Server#key.
28
47
  def key #:nodoc:
29
48
  self[:key]
30
49
  end
31
50
 
32
- # Finds the first server that meets the given conditions. Possible parameter formats:
51
+ # Finds the first server that meets the given conditions.
33
52
  #
34
- # * <tt>Scout::Server.first</tt>
35
- # * <tt>Scout::Server.first(1)</tt>
36
- # * <tt>Scout::Server.first(:name => 'db slaves')</tt>
37
- # * <tt>Scout::Server.first(:host => 'web*.geocities')</tt>
53
+ # Scout::Server.first
54
+ # Scout::Server.first(1)
55
+ # Scout::Server.first(:name => 'db slaves')
56
+ # Scout::Server.first(:host => 'web*.geocities')
38
57
  #
39
58
  #
40
59
  # For the <tt>:name</tt> and <tt>:host</tt> options, a {MySQL-formatted Regex}[http://dev.mysql.com/doc/refman/5.0/en/regexp.html] can be used.
@@ -71,12 +90,12 @@ class Scout::Server < Hashie::Mash
71
90
 
72
91
  # Finds all servers that meets the given conditions. Possible parameter formats:
73
92
  #
74
- # * <tt>Scout::Server.all(:name => 'db slaves')</tt>
75
- # * <tt>Scout::Server.all(:host => 'web*.geocities')</tt>
93
+ # Scout::Server.all(:name => 'db slaves')
94
+ # Scout::Server.all(:host => 'web*.geocities')
76
95
  #
77
96
  # For the <tt>:name</tt> and <tt>:host</tt> options, a {MySQL-formatted Regex}[http://dev.mysql.com/doc/refman/5.0/en/regexp.html] can be used.
78
97
  #
79
- # @return [Array] An array of Scout::Server objects
98
+ # @return [Array] An array of {Scout::Server} objects
80
99
  def self.all(options = {})
81
100
  if name=options[:name]
82
101
  response = Scout::Account.get("/clients.xml?name=#{CGI.escape(name)}")
@@ -90,10 +109,11 @@ class Scout::Server < Hashie::Mash
90
109
  response['clients'] ? response['clients'].map { |client| Scout::Server.new(client) } : Array.new
91
110
  end
92
111
 
93
- # Creates a new server. If an error occurs, a [Scout::Error] is raised.
112
+ # Creates a new server with the given <tt>name</tt>. If an error occurs, a [Scout::Error] is raised.
94
113
  #
95
114
  # An optional existing server id can be used as a template:
96
- # <tt>Scout::Server.create('web server 12',:id => 99999)</tt>
115
+ #
116
+ # Scout::Server.create('web server 12',:id => 99999)
97
117
  #
98
118
  # @return [Scout::Server]
99
119
  def self.create(name,options = {})
@@ -108,6 +128,9 @@ class Scout::Server < Hashie::Mash
108
128
 
109
129
  # Delete a server by <tt>id</tt>. If an error occurs, a [Scout::Error] is raised.
110
130
  #
131
+ # # Delete server w/id=1
132
+ # ScoutScout::Server.delete(1)
133
+ #
111
134
  # @return [true]
112
135
  def self.delete(id)
113
136
  response = Scout::Account.delete("/#{Scout::Account.param}/clients/#{id}.xml?api_version=#{Scout::VERSION}")
@@ -123,14 +146,14 @@ class Scout::Server < Hashie::Mash
123
146
 
124
147
  # Active alerts for this server
125
148
  #
126
- # @return [Array] An array of Scout::Alert objects
149
+ # @return [Array] An array of {Scout::Alert} objects
127
150
  def active_alerts
128
151
  @active_alerts ||= @alert_hash.map { |a| decorate_with_server(Scout::Alert.new(a)) }
129
152
  end
130
153
 
131
154
  # Recent alerts for this server
132
155
  #
133
- # @return [Array] An array of Scout::Alert objects
156
+ # @return [Array] An array of {Scout::Alert} objects
134
157
  def alerts
135
158
  response = Scout::Account.get("/clients/#{self.id}/activities.xml")
136
159
  response['alerts'].map { |alert| decorate_with_server(Scout::Alert.new(alert)) }
@@ -138,7 +161,7 @@ class Scout::Server < Hashie::Mash
138
161
 
139
162
  # Details about all plugins for this server
140
163
  #
141
- # @return [Array] An array of Scout::Plugin objects
164
+ # @return [Array] An array of {Scout::Plugin }objects
142
165
  def plugins
143
166
  response = Scout::Account.get("/clients/#{self.id}/plugins.xml")
144
167
  response['plugins'].map { |plugin| decorate_with_server(Scout::Plugin.new(plugin)) }
@@ -154,7 +177,7 @@ class Scout::Server < Hashie::Mash
154
177
 
155
178
  # Details about all triggers for this server
156
179
  #
157
- # @return [Array] An array of Scout::Trigger objects
180
+ # @return [Array] An array of {Scout::Trigger} objects
158
181
  def triggers
159
182
  response = Scout::Account.get("/clients/#{self.id}/triggers.xml")
160
183
  response['triggers'].map { |trigger| decorate_with_server(Scout::Trigger.new(trigger)) }
@@ -1,3 +1,3 @@
1
1
  module Scout
2
- VERSION = '0.9.1'
2
+ VERSION = '1.0.0'
3
3
  end
data/scout_api.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{scout_api}
8
- s.version = "0.9.1"
8
+ s.version = "1.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jesse Newland", "Derek Haynes"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout_api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 57
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
- - 0
8
- - 9
9
7
  - 1
10
- version: 0.9.1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jesse Newland