copperegg 0.6.0.pre → 0.6.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ ## 0.6.0.pre (January 3, 2013)
2
+
3
+ Changes:
4
+
5
+ - Substantial changes to syntax. API resources now represented by Ruby classes. See README for details.
6
+ - Replaced multi_json requirement with json_pure.
7
+
8
+ Features:
9
+
10
+ - Automatic dashboard creation for metric groups.
11
+ - Metric groups and custom dashboards can be updated and deleted.
12
+ - Client-side validation added.
13
+ - Added automated test suite.
14
+
15
+ Bugfixes:
16
+
17
+ - Metric group versioning is encorporated and recognized.
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 CopperEgg Corporation.
1
+ Copyright (c) 2013 CopperEgg Corporation.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -7,7 +7,7 @@ The CopperEgg gem allows programmatic access to the CopperEgg API.
7
7
  Via rubygems.org:
8
8
 
9
9
  ```
10
- $ gem install copperegg-ruby
10
+ $ gem install copperegg
11
11
  ```
12
12
 
13
13
  To build and install the development branch yourself from the latest source:
@@ -55,6 +55,43 @@ metric_group.metrics << {"type"=>"ce_gauge", "name"=>"waiting",
55
55
  metric_group.save
56
56
  ```
57
57
 
58
+ If a metric group by the same name already exists, a new one will be created with a "versioned" name. For example:
59
+
60
+ ```ruby
61
+ metric_group2 = CopperEgg::MetricGroup.new(:name => "my_new_metric_group", :label => "New Group Version 2", :frequency => 60)
62
+ metric_group2.metrics << {"type"=>"ce_gauge", "name"=>"active_connections", "unit"=>"Connections"}
63
+ metric_group2.save
64
+
65
+ metric_group2.name
66
+ # => "my_metric_group_v2"
67
+ ```
68
+
69
+ ### Updating a metric group:
70
+
71
+ Labels, frequency, and units can be updated and additional metrics can be added. All other changes will be ignored.
72
+
73
+ ```ruby
74
+ metric_group.name = "this_will_be_ignored"
75
+ metric_group.label = "My New Metric Group"
76
+ metric_group.frequency = 5
77
+ metric_group.metrics << {"type"=>"ce_counter_f", "name"=>"new_metric"}
78
+ metric_group.save
79
+
80
+ metric_group.name
81
+ # => "my_metric_group"
82
+ metric_group.label
83
+ # => "My New Metric Group"
84
+ metric_group.frequency
85
+ # => 5
86
+ ```
87
+
88
+ ### Delete a metric group
89
+
90
+ ```ruby
91
+ metric_group.delete
92
+ ```
93
+
94
+
58
95
  ### Post samples for a metric group
59
96
 
60
97
  ```ruby
@@ -82,37 +119,45 @@ By default, the dashboard created will be named "_MetricGroupLabel_ Dashboard" a
82
119
 
83
120
  ```ruby
84
121
  # Creates a dashboard named "My Metric Group Dashboard"
85
- CopperEgg::CustomDashboard.create(metric_group)
122
+ dashboard = CopperEgg::CustomDashboard.create(metric_group)
86
123
  ```
87
124
 
88
125
  You can pass an option to specify the name of the dashboard.
89
126
 
90
127
  ```ruby
91
- CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers")
128
+ dashboard = CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers")
92
129
  ```
93
130
 
94
131
  If a single identifier is specified, the dashboard will be created having one value widget per metric matching the single identifier.
95
132
 
96
133
  ```ruby
97
- CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers", :identifiers => "custom_identifier1")
134
+ dashboard = CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers", :identifiers => "custom_identifier1")
98
135
  ```
99
136
 
100
137
  If an array of identifiers is specified, the dashboard will be created having one timeline widget per metric matching each identifier.
101
138
 
102
139
  ```ruby
103
- CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers", :identifiers => ["custom_identifier1", "custom_identifier2"])
140
+ dashboard = CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers", :identifiers => ["custom_identifier1", "custom_identifier2"])
104
141
  ```
105
142
 
106
- You can limit the widgets created by metic.
143
+ You can limit the widgets created by metric.
107
144
 
108
145
  ```ruby
109
- CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers", :identifiers => ["custom_identifier1", "custom_identifier2"], :metrics => ["reading", "writing", "waiting"])
146
+ dashboard = CopperEgg::CustomDashboard.create(metric_group, :name => "Cloud Servers", :identifiers => ["custom_identifier1", "custom_identifier2"], :metrics => ["reading", "writing", "waiting"])
110
147
  ```
111
148
 
112
149
  ### Get a dashboard
113
150
 
114
151
  ```ruby
115
- CopperEgg::CustomDashboard.find_by_name("My Metric Group Dashboard")
152
+ dashboard = CopperEgg::CustomDashboard.find_by_name("My Metric Group Dashboard")
153
+ ```
154
+
155
+ ### Delete a dashboard
156
+
157
+ Dashboards can be deleted like metric groups:
158
+
159
+ ```ruby
160
+ dashboard.delete
116
161
  ```
117
162
 
118
163
  ## Questions / Problems?
@@ -122,7 +167,7 @@ There are more detailed examples in the [test classes][test_classes].
122
167
  Full [API docs][docs] are available.
123
168
 
124
169
  [sample_docs]:http://dev.copperegg.com/revealmetrics/samples.html
125
- [test_classes]:https://github.com/copperegg/copperegg-ruby/tree/feature/ares/test
170
+ [test_classes]:https://github.com/copperegg/copperegg-ruby/tree/develop/test
126
171
  [docs]:http://dev.copperegg.com
127
172
 
128
173
  ## Copyright
File without changes
data/copperegg.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.description = 'Library for using the CopperEgg REST API'
10
10
  s.summary = 'Library for using the CopperEgg REST API'
11
11
  s.homepage = 'http://github.com/copperegg/copperegg-ruby'
12
- s.license = '???'
12
+ s.license = 'MIT'
13
13
 
14
14
  s.platform = Gem::Platform::RUBY
15
15
  s.require_paths = %w[lib]
@@ -10,10 +10,6 @@ module CopperEgg
10
10
 
11
11
  attr_accessor :name, :label, :data
12
12
 
13
- def initialize(attributes={})
14
- load_attributes(attributes)
15
- end
16
-
17
13
  def load_attributes(attributes)
18
14
  @data = {"widgets" => {}, "order" => []}
19
15
  attributes.each do |name, value|
@@ -50,8 +46,6 @@ module CopperEgg
50
46
  @error = "Invalid widget match #{value}."
51
47
  elsif key.to_s == "metric" && (!value.is_a?(Hash) || value.keys.size == 0)
52
48
  @error = "Invalid widget metric. #{value}"
53
- elsif key.to_s == "match_param" && (widget["match"] || widget[:match]) != "all" && (value.nil? || value.to_s.strip.empty?)
54
- @error = "Missing match parameter."
55
49
  else
56
50
  (widget["metric"] || widget[:metric]).each do |metric_group_name, metric_group_value|
57
51
  if !metric_group_value.is_a?(Array)
@@ -72,6 +66,10 @@ module CopperEgg
72
66
  end
73
67
  end
74
68
  end
69
+ match_param = widget["match_param"] || widget[:match_param]
70
+ if (widget["match"] || widget[:match]) != "all" && (match_param.nil? || match_param.to_s.strip.empty?)
71
+ @error = "Missing match parameter."
72
+ end
75
73
  break if !@error.nil?
76
74
  end
77
75
  end
@@ -6,10 +6,6 @@ module CopperEgg
6
6
 
7
7
  attr_accessor :name, :label, :frequency, :metrics
8
8
 
9
- def initialize(attributes={})
10
- load_attributes(attributes)
11
- end
12
-
13
9
  def load_attributes(attributes)
14
10
  @metrics = []
15
11
  attributes.each do |name, value|
@@ -96,7 +92,7 @@ module CopperEgg
96
92
  elsif self.type.nil? || self.type.to_s.strip.empty?
97
93
  @error = "Metric type must be defined."
98
94
  elsif !TYPES.include?(self.type)
99
- return "Invalid metric type #{self.type}."
95
+ @error = "Invalid metric type #{self.type}."
100
96
  else
101
97
  valid = true
102
98
  remove_instance_variable(:@error)
@@ -13,9 +13,11 @@ module CopperEgg
13
13
  id = args.first
14
14
  response = request(params.merge(:request_type => "get", :id => id))
15
15
  if response && response.is_a?(Array)
16
- response.map {|resp| new(resp)}
16
+ response.map do |resp|
17
+ new JSON.parse(resp.body)
18
+ end
17
19
  elsif response
18
- new(response)
20
+ new JSON.parse(response.body)
19
21
  end
20
22
  end
21
23
 
@@ -45,23 +47,13 @@ module CopperEgg
45
47
  request.basic_auth(Api.apikey, "U")
46
48
  request["Content-Type"] = "application/json"
47
49
 
48
- connect_try_count = 0
49
- response = nil
50
50
  begin
51
51
  response = http.request(request)
52
52
  rescue Exception => e
53
- connect_try_count += 1
54
- if connect_try_count > 1
55
- log "#{e.inspect}"
56
- raise e
57
- end
58
- sleep 0.5
59
- retry
53
+ raise e
60
54
  end
61
55
 
62
- return nil if response.nil? || response.code != "200" || response.body.nil? || response.body.strip.empty?
63
-
64
- JSON.parse(response.body)
56
+ response
65
57
  end
66
58
 
67
59
  private
@@ -73,12 +65,21 @@ module CopperEgg
73
65
  end
74
66
  end
75
67
 
76
- attr_reader :id
68
+ attr_reader :id, :error
69
+
70
+ def initialize(attributes={})
71
+ load_attributes(attributes)
72
+ end
77
73
 
78
74
  def save
79
75
  if valid?
80
- attributes = persisted? ? update : create
81
- load_attributes(attributes)
76
+ response = persisted? ? update : create
77
+ attributes = JSON.parse(response.body)
78
+ if response.code != "200"
79
+ @error = attributes.merge("code" => response.code)
80
+ else
81
+ load_attributes(attributes)
82
+ end
82
83
  else
83
84
  raise ValidationError.new(@error)
84
85
  end
data/lib/copperegg/ver.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CopperEgg
2
- GEM_VERSION = '0.6.0.pre'
2
+ GEM_VERSION = '0.6.0.pre2'
3
3
  end
@@ -18,7 +18,7 @@ class CustomDashboardTest < Test::Unit::TestCase
18
18
 
19
19
  def test_save_should_fail_for_an_invalid_widget_type
20
20
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
21
- dashboard.data.widgets["0"] = {:type => "foo", :style => "value", :match => "tag", :match_param => ["test"],
21
+ dashboard.data["widgets"]["0"] = {:type => "foo", :style => "value", :match => "tag", :match_param => ["test"],
22
22
  :metric => {"my_metric_group" => [[0, "metric1"]]}}
23
23
 
24
24
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
@@ -27,7 +27,7 @@ class CustomDashboardTest < Test::Unit::TestCase
27
27
 
28
28
  def test_save_should_fail_for_an_invalid_widget_style
29
29
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
30
- dashboard.data.widgets["0"] = {:type => "metric", :style => "foo", :match => "tag", :match_param => ["test"],
30
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "foo", :match => "tag", :match_param => ["test"],
31
31
  :metric => {"my_metric_group" => [[0, "metric1"]]}}
32
32
 
33
33
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
@@ -36,7 +36,7 @@ class CustomDashboardTest < Test::Unit::TestCase
36
36
 
37
37
  def test_save_should_ail_for_an_invalidvwidget_match
38
38
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
39
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "foo", :match_param => ["test"],
39
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "foo", :match_param => ["test"],
40
40
  :metric => {"my_metric_group" => [[0, "metric1"]]}}
41
41
 
42
42
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
@@ -45,7 +45,7 @@ class CustomDashboardTest < Test::Unit::TestCase
45
45
 
46
46
  def test_save_should_fail_for_a_missing_match_parameter
47
47
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
48
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "select", :metric => {"my_metric_group" => [[0, "metric1"]]}}
48
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "select", :metric => {"my_metric_group" => [[0, "metric1"]]}}
49
49
 
50
50
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
51
51
  assert_equal "Missing match parameter.", error.message
@@ -53,87 +53,66 @@ class CustomDashboardTest < Test::Unit::TestCase
53
53
 
54
54
  def test_save_should_fail_if_metric_is_not_a_hash
55
55
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
56
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => ["my_metric_group", 0, "metric1"]}
56
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => ["my_metric_group", 0, "metric1"]}
57
57
 
58
58
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
59
- assert_equal "Invalid widget metric.", error.message
59
+ assert_match /invalid widget metric/i, error.message
60
60
  end
61
61
 
62
62
  def test_save_should_fail_if_metric_does_not_contain_an_array
63
63
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
64
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => "metric1"}}
64
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => "metric1"}}
65
65
 
66
66
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
67
- assert_equal "Invalid widget metric.", error.message
67
+ assert_match /invalid widget metric/i, error.message
68
68
  end
69
69
 
70
70
  def test_save_should_fail_if_metric_contains_an_empty_array
71
71
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
72
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => []}}
72
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => []}}
73
73
 
74
74
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
75
- assert_equal "Invalid widget metric.", error.message
75
+ assert_match /invalid widget metric/i, error.message
76
76
  end
77
77
 
78
78
  def test_save_should_fail_if_metric_contains_an_array_with_invalid_values
79
79
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
80
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => ["metric1"]}}
80
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => ["metric1"]}}
81
81
 
82
82
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
83
- assert_equal "Invalid widget metric.", error.message
83
+ assert_match /invalid widget metric/i, error.message
84
84
  end
85
85
 
86
86
  def test_save_should_fail_if_metric_contains_an_array_with_an_invalid_position
87
87
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
88
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [["four", "metric1"]]}}
88
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [["four", "metric1"]]}}
89
89
 
90
90
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
91
- assert_equal "Invalid widget metric.", error.message
91
+ assert_match /invalid widget metric/i, error.message
92
92
  end
93
93
 
94
94
  def test_save_should_fail_if_metric_contains_an_array_with_no_metric_name
95
95
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
96
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [[0]]}}
96
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [[0]]}}
97
97
 
98
98
  error = assert_raise(CopperEgg::ValidationError) { dashboard.save }
99
- assert_equal "Invalid widget metric.", error.message
99
+ assert_match /invalid widget metric/i, error.message
100
100
  end
101
101
 
102
- # def test_save_should_save_a_valid_dashboard
103
- # CopperEgg::Api.apikey = "testapikey"
104
-
105
- # request_headers = {
106
- # 'Authorization' => "Basic #{Base64.encode64("testapikey:").gsub("\n",'')}",
107
- # 'Content-Type' => 'application/json'
108
- # }
109
-
110
- # response_body = {:id => 1, :name => "My Dashboard", :data => {:widgets => [{:type => "metric", :style => "value", :match => "tag", :match_param => ["test"]}]},
111
- # :order => ["0"]}
112
-
113
- # ActiveResource::HttpMock.respond_to do |mock|
114
- # mock.post "/v2/revealmetrics/dashboards.json", request_headers, {}, 200
115
- # end
116
-
117
- # dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
118
- # dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [[1, "metric1"]]}}
119
-
120
- # assert dashboard.save
121
- # end
122
-
123
102
  def test_to_hash
124
103
  dashboard = CopperEgg::CustomDashboard.new(:name => "My Dashboard")
125
- dashboard.data.widgets["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [[1, "metric1"]]}}
104
+ dashboard.data["widgets"]["0"] = {:type => "metric", :style => "value", :match => "tag", :match_param => ["test"], :metric => {"my_metric_group" => [[1, "metric1"]]}}
126
105
 
127
106
  assert dashboard.valid?
128
107
 
129
108
  hash = dashboard.to_hash
130
109
 
131
110
  assert_equal "My Dashboard", hash["name"]
132
- assert_equal "metric", hash["data"]["widgets"]["0"]["type"]
133
- assert_equal "value", hash["data"]["widgets"]["0"]["style"]
134
- assert_equal "tag", hash["data"]["widgets"]["0"]["match"]
135
- assert_equal ["test"], hash["data"]["widgets"]["0"]["match_param"]
136
- assert_equal [[1, "metric1"]], hash["data"]["widgets"]["0"]["metric"]["my_metric_group"]
111
+ assert_equal "metric", hash["data"]["widgets"]["0"][:type]
112
+ assert_equal "value", hash["data"]["widgets"]["0"][:style]
113
+ assert_equal "tag", hash["data"]["widgets"]["0"][:match]
114
+ assert_equal ["test"], hash["data"]["widgets"]["0"][:match_param]
115
+ assert_equal [[1, "metric1"]], hash["data"]["widgets"]["0"][:metric]["my_metric_group"]
137
116
  end
138
117
 
139
118
  end
@@ -30,34 +30,13 @@ class MetricGroupTest < Test::Unit::TestCase
30
30
  assert_equal "Metric expected.", error.message
31
31
  end
32
32
 
33
- def test_save_should_fail_for_invalid_metrics
33
+ def test_save_should_fail_for_invalid_metric
34
34
  metric_group = CopperEgg::MetricGroup.new(:name => "my_metric_group", :metrics => [{:name => "test", :type => "invalid"}])
35
35
 
36
36
  error = assert_raise(CopperEgg::ValidationError) { metric_group.save }
37
37
  assert_equal "Invalid metric type invalid.", error.message
38
38
  end
39
39
 
40
- # def test_save_should_retrieve_versioned_name_of_metric_group
41
- # CopperEgg::Api.apikey = "testapikey"
42
-
43
- # request_headers = {
44
- # 'Authorization' => "Basic #{Base64.encode64("testapikey:").gsub("\n",'')}",
45
- # 'Content-Type' => 'application/json'
46
- # }
47
- # response_body = {:id => "test_v2", :name => "test_v2", :label => "Test", :frequency => 5, :metrics => [{:name => "test", :type => "ce_counter", :position => 0}]}
48
-
49
- # ActiveResource::HttpMock.respond_to do |mock|
50
- # mock.post "/v2/revealmetrics/metric_groups.json", request_headers, response_body.to_json, 200
51
- # end
52
-
53
- # metric_group = CopperEgg::MetricGroup.new(:name => "test", :frequency => 5, :metrics => [{:name => "test", :type => "ce_counter"}])
54
-
55
- # metric_group.save
56
-
57
- # assert_equal "test_v2", metric_group.id
58
- # assert_equal "test_v2", metric_group.name
59
- # end
60
-
61
40
  def test_to_hash
62
41
  metric_group = CopperEgg::MetricGroup.new(:name => "test", :label => "Test Metric", :frequency => 5)
63
42
  metric_group.metrics << {:type => "ce_counter", :name => "metric1", :label => "Metric 1", :unit => "ticks"}
@@ -2,35 +2,5 @@ require "test/unit"
2
2
  require "copperegg"
3
3
 
4
4
  class MetricSampleTest < Test::Unit::TestCase
5
-
6
- # def test_save_should_post_a_sample
7
- # CopperEgg::Api.apikey = "testapikey"
8
- # request_headers = {
9
- # 'Authorization' => "Basic #{Base64.encode64("testapikey:").gsub("\n",'')}",
10
- # 'Content-Type' => 'application/json'
11
- # }
12
-
13
- # ActiveResource::HttpMock.respond_to do |mock|
14
- # mock.post "/v2/revealmetrics/samples//test.json", request_headers, {}, 200
15
- # end
16
-
17
- # CopperEgg::MetricSample.save("test", "custom_object", Time.now.to_i, :key1 => "value1", :key2 => "value2")
18
- # end
19
-
20
- # def test_samples_should_return_the_json_response_body_upon_success
21
- # CopperEgg::Api.apikey = "testapikey"
22
- # request_headers = {
23
- # 'Authorization' => "Basic #{Base64.encode64("testapikey:").gsub("\n",'')}",
24
- # 'Accept' => 'application/json'
25
- # }
26
-
27
- # ActiveResource::HttpMock.respond_to do |mock|
28
- # queries = {"queries" => {"metric_group" => [{"metrics" => ["metric1"]}]}}.to_param
29
-
30
- # mock.get "/v2/revealmetrics/samples.json?#{queries}", request_headers, {"_ts" => Time.now.to_i, "object_count" => 0, "values" => {"metric_group" => []}}.to_json, 200
31
- # end
32
-
33
- # CopperEgg::MetricSample.samples("metric_group", "metric1")
34
- # end
35
5
 
36
6
  end
metadata CHANGED
@@ -1,48 +1,40 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: copperegg
3
- version: !ruby/object:Gem::Version
4
- hash: -764821022
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0.pre2
5
5
  prerelease: 6
6
- segments:
7
- - 0
8
- - 6
9
- - 0
10
- - pre
11
- version: 0.6.0.pre
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - Eric Anderson
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2013-01-03 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2013-01-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: json_pure
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 1
32
- - 7
33
- - 6
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.7.6
35
22
  type: :runtime
36
- version_requirements: *id001
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.7.6
37
30
  description: Library for using the CopperEgg REST API
38
31
  email: anderson@copperegg.com
39
32
  executables: []
40
-
41
33
  extensions: []
42
-
43
34
  extra_rdoc_files: []
44
-
45
- files:
35
+ files:
36
+ - ./CHANGELOG.md
37
+ - ./copperegg-0.6.0.pre2.gem
46
38
  - ./copperegg.gemspec
47
39
  - ./Gemfile
48
40
  - ./Gemfile.lock
@@ -63,46 +55,37 @@ files:
63
55
  - test/metric_group_test.rb
64
56
  - test/metric_sample_test.rb
65
57
  homepage: http://github.com/copperegg/copperegg-ruby
66
- licenses:
67
- - ???
58
+ licenses:
59
+ - MIT
68
60
  post_install_message:
69
- rdoc_options:
61
+ rdoc_options:
70
62
  - --line-numbers
71
63
  - --inline-source
72
64
  - --title
73
65
  - copperegg-ruby
74
66
  - --main
75
67
  - README.md
76
- require_paths:
68
+ require_paths:
77
69
  - lib
78
- required_ruby_version: !ruby/object:Gem::Requirement
70
+ required_ruby_version: !ruby/object:Gem::Requirement
79
71
  none: false
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- hash: 3
84
- segments:
85
- - 0
86
- version: "0"
87
- required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
88
77
  none: false
89
- requirements:
90
- - - ">"
91
- - !ruby/object:Gem::Version
92
- hash: 25
93
- segments:
94
- - 1
95
- - 3
96
- - 1
78
+ requirements:
79
+ - - ! '>'
80
+ - !ruby/object:Gem::Version
97
81
  version: 1.3.1
98
82
  requirements: []
99
-
100
83
  rubyforge_project:
101
84
  rubygems_version: 1.8.24
102
85
  signing_key:
103
86
  specification_version: 3
104
87
  summary: Library for using the CopperEgg REST API
105
- test_files:
88
+ test_files:
106
89
  - test/custom_dashboard_test.rb
107
90
  - test/metric_group_test.rb
108
91
  - test/metric_sample_test.rb