heroku-api 0.2.7 → 0.2.8

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.
@@ -1,3 +1,8 @@
1
+ 0.2.8 07/08/2012
2
+ ================
3
+
4
+ return to OkJson usage, as json breaks with some legacy toolbelt installs
5
+
1
6
  0.2.7 07/05/2012
2
7
  ================
3
8
 
@@ -9,6 +9,8 @@ unless $LOAD_PATH.include?(__LIB_DIR__)
9
9
  $LOAD_PATH.unshift(__LIB_DIR__)
10
10
  end
11
11
 
12
+ require "heroku/api/vendor/okjson"
13
+
12
14
  require "heroku/api/errors"
13
15
  require "heroku/api/mock"
14
16
  require "heroku/api/version"
@@ -32,36 +34,6 @@ srand
32
34
  module Heroku
33
35
  class API
34
36
 
35
- begin
36
-
37
- require('json')
38
-
39
- def self.json_decode(json)
40
- JSON.parse(json)
41
- rescue
42
- json
43
- end
44
-
45
- def self.json_encode(object)
46
- JSON.dump(object)
47
- end
48
-
49
- rescue LoadError
50
-
51
- require('heroku/api/vendor/okjson')
52
-
53
- def self.json_decode(json)
54
- Heroku::API::OkJson.decode(json)
55
- rescue
56
- json
57
- end
58
-
59
- def self.json_encode(object)
60
- Heroku::API::OkJson.encode(object)
61
- end
62
-
63
- end
64
-
65
37
  def initialize(options={})
66
38
  @api_key = options.delete(:api_key) || ENV['HEROKU_API_KEY']
67
39
  user_pass = ":#{@api_key}"
@@ -109,7 +81,9 @@ module Heroku
109
81
  response.body = Zlib::GzipReader.new(StringIO.new(response.body)).read
110
82
  end
111
83
  begin
112
- response.body = Heroku::API.json_decode(response.body)
84
+ response.body = Heroku::API::OkJson.decode(response.body)
85
+ rescue
86
+ # leave non-JSON body as is
113
87
  end
114
88
  end
115
89
 
@@ -22,7 +22,7 @@ module Heroku
22
22
  # PUT /apps/:app/config_vars
23
23
  def put_config_vars(app, vars)
24
24
  request(
25
- :body => Heroku::API.json_encode(vars),
25
+ :body => Heroku::API::OkJson.encode(vars),
26
26
  :expects => 200,
27
27
  :method => :put,
28
28
  :path => "/apps/#{app}/config_vars"
@@ -72,7 +72,7 @@ module Heroku
72
72
  def self.get_mock_addon(mock_data, addon)
73
73
  @addons ||= begin
74
74
  data = File.read("#{File.dirname(__FILE__)}/mock/cache/get_addons.json")
75
- Heroku::API.json_decode(data)
75
+ Heroku::API::OkJson.decode(data)
76
76
  end
77
77
  @addons.detect {|addon_data| addon_data['name'] == addon}
78
78
  end
@@ -106,7 +106,7 @@ module Heroku
106
106
  def self.get_mock_feature(mock_data, feature)
107
107
  @features ||= begin
108
108
  data = File.read("#{File.dirname(__FILE__)}/mock/cache/get_features.json")
109
- Heroku::API.json_decode(data)
109
+ Heroku::API::OkJson.decode(data)
110
110
  end
111
111
  @features.detect {|feature_data| feature_data['name'] == feature}
112
112
  end
@@ -139,7 +139,7 @@ module Heroku
139
139
 
140
140
  parsed = params.dup
141
141
  begin # try to JSON decode
142
- parsed[:body] &&= Heroku::API.json_decode(parsed[:body])
142
+ parsed[:body] &&= Heroku::API::OkJson.decode(parsed[:body])
143
143
  rescue # else leave as is
144
144
  end
145
145
 
@@ -14,7 +14,7 @@ module Heroku
14
14
  # addon is currently installed
15
15
  remove_mock_app_addon(mock_data, app, addon)
16
16
  {
17
- :body => Heroku::API.json_encode({
17
+ :body => Heroku::API::OkJson.encode({
18
18
  "message" => nil,
19
19
  "price" => get_mock_addon_price(mock_data, addon),
20
20
  "status" => 'Uninstalled'
@@ -24,14 +24,14 @@ module Heroku
24
24
  else
25
25
  # addon is not currently installed
26
26
  {
27
- :body => Heroku::API.json_encode({'error' => "The add-on #{addon} is not installed for this app. Did you mean:\n\t#{addon_names.join("\n\t")}"}),
27
+ :body => Heroku::API::OkJson.encode({'error' => "The add-on #{addon} is not installed for this app. Did you mean:\n\t#{addon_names.join("\n\t")}"}),
28
28
  :status => 422
29
29
  }
30
30
  end
31
31
  else
32
32
  # addon does not exist
33
33
  {
34
- :body => Heroku::API.json_encode({'error' => "Could not find add-on #{addon}. Did you mean:\n\t#{addon_names.join("\n\t")}"}),
34
+ :body => Heroku::API::OkJson.encode({'error' => "Could not find add-on #{addon}. Did you mean:\n\t#{addon_names.join("\n\t")}"}),
35
35
  :status => 422
36
36
  }
37
37
  end
@@ -53,7 +53,7 @@ module Heroku
53
53
  app, _ = request_params[:captures][:path]
54
54
  with_mock_app(mock_data, app) do
55
55
  {
56
- :body => Heroku::API.json_encode(mock_data[:addons][app].map {|addon| addon['configured'] = true; addon}),
56
+ :body => Heroku::API::OkJson.encode(mock_data[:addons][app].map {|addon| addon['configured'] = true; addon}),
57
57
  :status => 200
58
58
  }
59
59
  end
@@ -72,7 +72,7 @@ module Heroku
72
72
  # addon is not currently installed
73
73
  add_mock_app_addon(mock_data, app, addon)
74
74
  {
75
- :body => Heroku::API.json_encode({
75
+ :body => Heroku::API::OkJson.encode({
76
76
  "message" => nil,
77
77
  "price" => get_mock_addon_price(mock_data, addon),
78
78
  "status" => 'Installed'
@@ -82,21 +82,21 @@ module Heroku
82
82
  else
83
83
  # addon is currently installed
84
84
  {
85
- :body => Heroku::API.json_encode({'error' => "Add-on already installed."}),
85
+ :body => Heroku::API::OkJson.encode({'error' => "Add-on already installed."}),
86
86
  :status => 422
87
87
  }
88
88
  end
89
89
  else
90
90
  # addon of same type exists
91
91
  {
92
- :body => Heroku::API.json_encode({'error' => "#{app_addon_type_data['name']} add-on already added.\nTo upgrade, use addons:upgrade instead.\n"}),
92
+ :body => Heroku::API::OkJson.encode({'error' => "#{app_addon_type_data['name']} add-on already added.\nTo upgrade, use addons:upgrade instead.\n"}),
93
93
  :status => 422
94
94
  }
95
95
  end
96
96
  else
97
97
  # addon does not exist
98
98
  {
99
- :body => Heroku::API.json_encode({'error' => "Add-on not found."}),
99
+ :body => Heroku::API::OkJson.encode({'error' => "Add-on not found."}),
100
100
  :status => 404
101
101
  }
102
102
  end
@@ -117,7 +117,7 @@ module Heroku
117
117
  mock_data[:addons][app].delete(app_addon_data)
118
118
  add_mock_app_addon(mock_data, app, addon)
119
119
  {
120
- :body => Heroku::API.json_encode({
120
+ :body => Heroku::API::OkJson.encode({
121
121
  "message" => 'Plan upgraded',
122
122
  "price" => get_mock_addon_price(mock_data, addon),
123
123
  "status" => 'Updated'
@@ -127,21 +127,21 @@ module Heroku
127
127
  else
128
128
  # addon is currently installed
129
129
  {
130
- :body => Heroku::API.json_encode({'error' => "Add-on already installed."}),
130
+ :body => Heroku::API::OkJson.encode({'error' => "Add-on already installed."}),
131
131
  :status => 422
132
132
  }
133
133
  end
134
134
  else
135
135
  # addon of same type not installed
136
136
  {
137
- :body => Heroku::API.json_encode({'error' => "Can't upgrade, no #{addon.split(':').join(' ')} add-on has been added.\nTo add, use addons:add instead.\n"}),
137
+ :body => Heroku::API::OkJson.encode({'error' => "Can't upgrade, no #{addon.split(':').join(' ')} add-on has been added.\nTo add, use addons:add instead.\n"}),
138
138
  :status => 422
139
139
  }
140
140
  end
141
141
  else
142
142
  # addon does not exist
143
143
  {
144
- :body => Heroku::API.json_encode({'error' => "Add-on not found."}),
144
+ :body => Heroku::API::OkJson.encode({'error' => "Add-on not found."}),
145
145
  :status => 404
146
146
  }
147
147
  end
@@ -15,7 +15,7 @@ module Heroku
15
15
  mock_data[:ps].delete(app)
16
16
  mock_data[:releases].delete(app)
17
17
  {
18
- :body => Heroku::API.json_encode({}),
18
+ :body => Heroku::API::OkJson.encode({}),
19
19
  :status => 200
20
20
  }
21
21
  end
@@ -25,7 +25,7 @@ module Heroku
25
25
  Excon.stub(:expects => 200, :method => :get, :path => '/apps') do |params|
26
26
  request_params, mock_data = parse_stub_params(params)
27
27
  {
28
- :body => Heroku::API.json_encode(mock_data[:apps]),
28
+ :body => Heroku::API::OkJson.encode(mock_data[:apps]),
29
29
  :status => 200
30
30
  }
31
31
  end
@@ -36,7 +36,7 @@ module Heroku
36
36
  app, _ = request_params[:captures][:path]
37
37
  with_mock_app(mock_data, app) do |app_data|
38
38
  {
39
- :body => Heroku::API.json_encode(app_data),
39
+ :body => Heroku::API::OkJson.encode(app_data),
40
40
  :status => 200
41
41
  }
42
42
  end
@@ -49,7 +49,7 @@ module Heroku
49
49
 
50
50
  if get_mock_app(mock_data, app)
51
51
  {
52
- :body => Heroku::API.json_encode('error' => 'Name is already taken'),
52
+ :body => Heroku::API::OkJson.encode('error' => 'Name is already taken'),
53
53
  :status => 422
54
54
  }
55
55
  else
@@ -112,7 +112,7 @@ module Heroku
112
112
  end
113
113
 
114
114
  {
115
- :body => Heroku::API.json_encode(app_data),
115
+ :body => Heroku::API::OkJson.encode(app_data),
116
116
  :status => 202
117
117
  }
118
118
  end
@@ -157,12 +157,12 @@ module Heroku
157
157
  end
158
158
  if email && !collaborator
159
159
  {
160
- :body => Heroku::API.json_encode('error' => 'Only existing collaborators can receive ownership for an app'),
160
+ :body => Heroku::API::OkJson.encode('error' => 'Only existing collaborators can receive ownership for an app'),
161
161
  :status => 422
162
162
  }
163
163
  else
164
164
  {
165
- :body => Heroku::API.json_encode('name' => app_data['name']),
165
+ :body => Heroku::API::OkJson.encode('name' => app_data['name']),
166
166
  :status => 200
167
167
  }
168
168
  end
@@ -176,7 +176,7 @@ module Heroku
176
176
 
177
177
  with_mock_app(mock_data, app) do |app_data|
178
178
  {
179
- :body => Heroku::API.json_encode({}),
179
+ :body => Heroku::API::OkJson.encode({}),
180
180
  :status => 201
181
181
  }
182
182
  end
@@ -25,7 +25,7 @@ module Heroku
25
25
  app, _ = request_params[:captures][:path]
26
26
  with_mock_app(mock_data, app) do
27
27
  {
28
- :body => Heroku::API.json_encode(mock_data[:collaborators][app]),
28
+ :body => Heroku::API::OkJson.encode(mock_data[:collaborators][app]),
29
29
  :status => 200
30
30
  }
31
31
  end
@@ -10,7 +10,7 @@ module Heroku
10
10
  mock_data[:config_vars][app].delete(key)
11
11
  add_mock_release(mock_data, app, {'descr' => "Config remove #{key}"})
12
12
  {
13
- :body => Heroku::API.json_encode(mock_data[:config_vars][app]),
13
+ :body => Heroku::API::OkJson.encode(mock_data[:config_vars][app]),
14
14
  :status => 200
15
15
  }
16
16
  end
@@ -22,7 +22,7 @@ module Heroku
22
22
  app, _ = request_params[:captures][:path]
23
23
  with_mock_app(mock_data, app) do
24
24
  {
25
- :body => Heroku::API.json_encode(mock_data[:config_vars][app]),
25
+ :body => Heroku::API::OkJson.encode(mock_data[:config_vars][app]),
26
26
  :status => 200
27
27
  }
28
28
  end
@@ -37,7 +37,7 @@ module Heroku
37
37
  mock_data[:config_vars][app].merge!(new_config_vars)
38
38
  add_mock_release(mock_data, app, {'descr' => "Config add #{new_config_vars.keys.join(', ')}"})
39
39
  {
40
- :body => Heroku::API.json_encode(mock_data[:config_vars][app]),
40
+ :body => Heroku::API::OkJson.encode(mock_data[:config_vars][app]),
41
41
  :status => 200
42
42
  }
43
43
  end
@@ -42,7 +42,7 @@ module Heroku
42
42
  app, _ = request_params[:captures][:path]
43
43
  with_mock_app(mock_data, app) do |app_data|
44
44
  {
45
- :body => Heroku::API.json_encode(mock_data[:domains][app]),
45
+ :body => Heroku::API::OkJson.encode(mock_data[:domains][app]),
46
46
  :status => 200
47
47
  }
48
48
  end
@@ -66,7 +66,7 @@ module Heroku
66
66
  }
67
67
  end
68
68
  {
69
- :body => Heroku::API.json_encode('domain' => domain),
69
+ :body => Heroku::API::OkJson.encode('domain' => domain),
70
70
  :status => 201
71
71
  }
72
72
  end
@@ -16,20 +16,20 @@ module Heroku
16
16
  when 'app'
17
17
  mock_data[:features][:app][app].delete(feature_data)
18
18
  {
19
- :body => Heroku::API.json_encode(feature_data.merge('enabled' => false)),
19
+ :body => Heroku::API::OkJson.encode(feature_data.merge('enabled' => false)),
20
20
  :status => 200
21
21
  }
22
22
  when 'user'
23
23
  mock_data[:features][:user].delete(feature_data.merge('enabled' => false))
24
24
  {
25
- :body => Heroku::API.json_encode(feature_data),
25
+ :body => Heroku::API::OkJson.encode(feature_data),
26
26
  :status => 200
27
27
  }
28
28
  end
29
29
  else
30
30
  # feature does not exist
31
31
  {
32
- :body => Heroku::API.json_encode({'error' => "Feature not found."}),
32
+ :body => Heroku::API::OkJson.encode({'error' => "Feature not found."}),
33
33
  :status => 404
34
34
  }
35
35
  end
@@ -56,13 +56,13 @@ module Heroku
56
56
  feature, _ = request_params[:captures][:path]
57
57
  if feature_data = get_mock_feature(mock_data, feature)
58
58
  {
59
- :body => Heroku::API.json_encode(feature_data),
59
+ :body => Heroku::API::OkJson.encode(feature_data),
60
60
  :status => 200
61
61
  }
62
62
  else
63
63
  # feature does not exist
64
64
  {
65
- :body => Heroku::API.json_encode({'error' => "Feature not found."}),
65
+ :body => Heroku::API::OkJson.encode({'error' => "Feature not found."}),
66
66
  :status => 404
67
67
  }
68
68
  end
@@ -82,7 +82,7 @@ module Heroku
82
82
  when 'app'
83
83
  mock_data[:features][:app][app] << feature_data
84
84
  {
85
- :body => Heroku::API.json_encode(feature_data),
85
+ :body => Heroku::API::OkJson.encode(feature_data),
86
86
  :status => 200
87
87
  }
88
88
  when 'user'
@@ -95,7 +95,7 @@ module Heroku
95
95
  else
96
96
  # feature does not exist
97
97
  {
98
- :body => Heroku::API.json_encode({'error' => "Feature not found."}),
98
+ :body => Heroku::API::OkJson.encode({'error' => "Feature not found."}),
99
99
  :status => 404
100
100
  }
101
101
  end
@@ -26,7 +26,7 @@ module Heroku
26
26
  Excon.stub(:expects => 200, :method => :get, :path => %r{^/user/keys}) do |params|
27
27
  request_params, mock_data = parse_stub_params(params)
28
28
  {
29
- :body => Heroku::API.json_encode(mock_data[:keys]),
29
+ :body => Heroku::API::OkJson.encode(mock_data[:keys]),
30
30
  :status => 200
31
31
  }
32
32
  end
@@ -8,7 +8,7 @@ module Heroku
8
8
  app, _ = request_params[:captures][:path]
9
9
  with_mock_app(mock_data, app) do |app_data|
10
10
  {
11
- :body => Heroku::API.json_encode(get_mock_processes(mock_data, app)),
11
+ :body => Heroku::API::OkJson.encode(get_mock_processes(mock_data, app)),
12
12
  :status => 200
13
13
  }
14
14
  end
@@ -43,7 +43,7 @@ module Heroku
43
43
  }
44
44
  mock_data[:ps][app] << data
45
45
  {
46
- :body => Heroku::API.json_encode(data),
46
+ :body => Heroku::API::OkJson.encode(data),
47
47
  :status => 200,
48
48
  }
49
49
  end
@@ -117,13 +117,13 @@ module Heroku
117
117
  }
118
118
  else
119
119
  {
120
- :body => Heroku::API.json_encode('error' => "No such type as #{type}") ,
120
+ :body => Heroku::API::OkJson.encode('error' => "No such type as #{type}") ,
121
121
  :status => 422
122
122
  }
123
123
  end
124
124
  else
125
125
  {
126
- :body => Heroku::API.json_encode('error' => "That feature is not available on this app's stack"),
126
+ :body => Heroku::API::OkJson.encode('error' => "That feature is not available on this app's stack"),
127
127
  :status => 422
128
128
  }
129
129
  end
@@ -139,7 +139,7 @@ module Heroku
139
139
  type = request_params[:query].has_key?('type') && request_params[:query]['type']
140
140
  if !ps && !type
141
141
  {
142
- :body => Heroku::API.json_encode({'error' => 'Missing process argument'}),
142
+ :body => Heroku::API::OkJson.encode({'error' => 'Missing process argument'}),
143
143
  :status => 422
144
144
  }
145
145
  else
@@ -160,12 +160,12 @@ module Heroku
160
160
  unless app_data['stack'] == 'cedar'
161
161
  app_data['dynos'] = dynos
162
162
  {
163
- :body => Heroku::API.json_encode({'name' => app, 'dynos' => dynos}),
163
+ :body => Heroku::API::OkJson.encode({'name' => app, 'dynos' => dynos}),
164
164
  :status => 200
165
165
  }
166
166
  else
167
167
  {
168
- :body => Heroku::API.json_encode({'error' => "For Cedar apps, use `heroku scale web=#{dynos}`"}),
168
+ :body => Heroku::API::OkJson.encode({'error' => "For Cedar apps, use `heroku scale web=#{dynos}`"}),
169
169
  :status => 422
170
170
  }
171
171
  end
@@ -181,12 +181,12 @@ module Heroku
181
181
  unless app_data['stack'] == 'cedar'
182
182
  app_data['workers'] = workers
183
183
  {
184
- :body => Heroku::API.json_encode({'name' => app, 'workers' => workers}),
184
+ :body => Heroku::API::OkJson.encode({'name' => app, 'workers' => workers}),
185
185
  :status => 200
186
186
  }
187
187
  else
188
188
  {
189
- :body => Heroku::API.json_encode({'error' => "For Cedar apps, use `heroku scale worker=#{workers}`"}),
189
+ :body => Heroku::API::OkJson.encode({'error' => "For Cedar apps, use `heroku scale worker=#{workers}`"}),
190
190
  :status => 422
191
191
  }
192
192
  end
@@ -8,7 +8,7 @@ module Heroku
8
8
  app, _ = request_params[:captures][:path]
9
9
  with_mock_app(mock_data, app) do |app_data|
10
10
  {
11
- :body => Heroku::API.json_encode(mock_data[:releases][app]),
11
+ :body => Heroku::API::OkJson.encode(mock_data[:releases][app]),
12
12
  :status => 200
13
13
  }
14
14
  end
@@ -22,7 +22,7 @@ module Heroku
22
22
  releases = mock_data[:releases][app]
23
23
  if release_data = (release_name == 'current' && releases.last) || releases.detect {|release| release['name'] == release_name}
24
24
  {
25
- :body => Heroku::API.json_encode(release_data),
25
+ :body => Heroku::API::OkJson.encode(release_data),
26
26
  :status => 200
27
27
  }
28
28
  else
@@ -51,7 +51,7 @@ module Heroku
51
51
  }
52
52
  else
53
53
  {
54
- :body => Heroku::API.json_encode({'error' => 'Cannot rollback to a release that had a different set of addons installed'}),
54
+ :body => Heroku::API::OkJson.encode({'error' => 'Cannot rollback to a release that had a different set of addons installed'}),
55
55
  :status => 422
56
56
  }
57
57
  end
@@ -37,7 +37,7 @@ module Heroku
37
37
  stack_data = Marshal::load(Marshal.dump(STACKS))
38
38
  stack_data.detect {|stack| stack['name'] == app_data['stack']}['current'] = true
39
39
  {
40
- :body => Heroku::API.json_encode(stack_data),
40
+ :body => Heroku::API::OkJson.encode(stack_data),
41
41
  :status => 200
42
42
  }
43
43
  end
@@ -65,13 +65,13 @@ BODY
65
65
  }
66
66
  else
67
67
  {
68
- :body => Heroku::API.json_encode('error' => 'Stack not found'),
68
+ :body => Heroku::API::OkJson.encode('error' => 'Stack not found'),
69
69
  :status => 404
70
70
  }
71
71
  end
72
72
  else
73
73
  {
74
- :body => Heroku::API.json_encode('error' => 'Stack migration to/from Cedar is not available. Create a new app with --stack cedar instead.'),
74
+ :body => Heroku::API::OkJson.encode('error' => 'Stack migration to/from Cedar is not available. Create a new app with --stack cedar instead.'),
75
75
  :status => 422
76
76
  }
77
77
  end
@@ -1,5 +1,5 @@
1
1
  module Heroku
2
2
  class API
3
- VERSION = "0.2.7"
3
+ VERSION = "0.2.8"
4
4
  end
5
5
  end
@@ -43,7 +43,7 @@ class TestAddons < MiniTest::Unit::TestCase
43
43
  data = File.read("#{File.dirname(__FILE__)}/../lib/heroku/api/mock/cache/get_addons.json")
44
44
 
45
45
  assert_equal(200, response.status)
46
- assert_equal(Heroku::API.json_decode(data), response.body)
46
+ assert_equal(Heroku::API::OkJson.decode(data), response.body)
47
47
  end
48
48
 
49
49
  def test_get_addons_with_app
@@ -5,7 +5,7 @@ class TestFeatures < MiniTest::Unit::TestCase
5
5
  def setup
6
6
  @feature_data ||= begin
7
7
  data = File.read("#{File.dirname(__FILE__)}/../lib/heroku/api/mock/cache/get_features.json")
8
- features_data = Heroku::API.json_decode(data)
8
+ features_data = Heroku::API::OkJson.decode(data)
9
9
  features_data.detect {|feature| feature['name'] == 'user_env_compile'}
10
10
  end
11
11
  end
@@ -40,7 +40,7 @@ class TestFeatures < MiniTest::Unit::TestCase
40
40
  data = File.read("#{File.dirname(__FILE__)}/../lib/heroku/api/mock/cache/get_features.json")
41
41
 
42
42
  assert_equal(200, response.status)
43
- assert_equal(Heroku::API.json_decode(data), response.body)
43
+ assert_equal(Heroku::API::OkJson.decode(data), response.body)
44
44
  end
45
45
  end
46
46
 
@@ -7,7 +7,7 @@ class TestUser < MiniTest::Unit::TestCase
7
7
  data = File.read("#{File.dirname(__FILE__)}/../lib/heroku/api/mock/cache/get_user.json")
8
8
 
9
9
  assert_equal(200, response.status)
10
- assert_equal(Heroku::API.json_decode(data), response.body)
10
+ assert_equal(Heroku::API::OkJson.decode(data), response.body)
11
11
  end
12
12
 
13
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heroku-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-05 00:00:00.000000000 Z
12
+ date: 2012-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
16
- requirement: &70181884166000 !ruby/object:Gem::Requirement
16
+ requirement: &70218833874580 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.14.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70181884166000
24
+ version_requirements: *70218833874580
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: minitest
27
- requirement: &70181884165300 !ruby/object:Gem::Requirement
27
+ requirement: &70218833873800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70181884165300
35
+ version_requirements: *70218833873800
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70181884164420 !ruby/object:Gem::Requirement
38
+ requirement: &70218833885800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70181884164420
46
+ version_requirements: *70218833885800
47
47
  description: Ruby Client for the Heroku API
48
48
  email:
49
49
  - wesley@heroku.com
@@ -121,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  segments:
123
123
  - 0
124
- hash: 3317431445359256884
124
+ hash: 4155132943236382125
125
125
  required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  none: false
127
127
  requirements:
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  version: '0'
131
131
  segments:
132
132
  - 0
133
- hash: 3317431445359256884
133
+ hash: 4155132943236382125
134
134
  requirements: []
135
135
  rubyforge_project:
136
136
  rubygems_version: 1.8.15