librato_silverline_api 1.0.0 → 1.0.1

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.
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- librato_silverline_api (0.0.1)
5
- json
4
+ librato_silverline_api (1.0.1)
5
+ json (= 1.4.6)
6
6
  rest-client (= 1.6.1)
7
7
 
8
8
  GEM
@@ -10,6 +10,8 @@ GEM
10
10
  specs:
11
11
  json (1.4.6)
12
12
  mime-types (1.16)
13
+ rake (0.8.7)
14
+ rcov (0.9.9)
13
15
  rest-client (1.6.1)
14
16
  mime-types (>= 1.16)
15
17
 
@@ -18,6 +20,6 @@ PLATFORMS
18
20
 
19
21
  DEPENDENCIES
20
22
  bundler (>= 1.0.0)
21
- json
22
23
  librato_silverline_api!
23
- rest-client (= 1.6.1)
24
+ rake (>= 0.8.7)
25
+ rcov (>= 0.9.8)
@@ -1,3 +1,3 @@
1
1
  module SilverlineAPI
2
- VERSION = "1.0.0"
3
- end
2
+ VERSION = "1.0.1"
3
+ end
@@ -2,6 +2,7 @@ require "rubygems"
2
2
  require "rest_client"
3
3
  require "cgi"
4
4
  require "json"
5
+ require "uri"
5
6
 
6
7
  def symbolize_keys(arg)
7
8
  case arg
@@ -100,23 +101,22 @@ module SilverlineAPI
100
101
  :min_storage_wbw => @min_storage_wbw,
101
102
  :containers => @containers
102
103
  }.to_json
103
-
104
- if @id
105
- begin
106
- x = RestClient.put("#{SilverlineAPI.url}/templates/#{@id}.json", parameters, :content_type => :json)
107
- rescue RestClient::UnprocessableEntity => e
108
- @errors = JSON.parse(e.http_body)["errors"]
109
- return false
110
- end
111
- else
112
- begin
104
+
105
+ begin
106
+ if @id
107
+ RestClient.put("#{SilverlineAPI.url}/templates/#{@id}.json", parameters, :content_type => :json)
108
+ else
113
109
  x = RestClient.post("#{SilverlineAPI.url}/templates.json", parameters, :content_type => :json)
114
- rescue RestClient::UnprocessableEntity => e
115
- @errors = JSON.parse(e.http_body)["errors"]
116
- return false
110
+ @id = x.headers[:location].scan(/\d+/).last
117
111
  end
118
- @id = x.headers[:location].scan(/\d+/).last
112
+ rescue RestClient::UnprocessableEntity => e
113
+ @errors = JSON.parse(e.http_body)["errors"]
114
+ return false
115
+ rescue RestClient::BadRequest => e
116
+ @errors = JSON.parse(e.http_body)["errors"]
117
+ return false
119
118
  end
119
+
120
120
  true
121
121
  end
122
122
 
@@ -131,7 +131,7 @@ module SilverlineAPI
131
131
  options = args.slice!(0) || {}
132
132
 
133
133
  if scope == :all
134
- array = options.map {|k, v| "#{k}=#{v}"}
134
+ array = options.map {|k, v| "#{k}=#{URI.escape(v)}"}
135
135
  arguments = array.join("&")
136
136
  unless arguments.empty?
137
137
  query = "/templates.json?#{arguments}"
@@ -206,4 +206,4 @@ module SilverlineAPI
206
206
  }.to_json
207
207
  end
208
208
  end
209
- end
209
+ end
@@ -7,15 +7,17 @@ Gem::Specification.new do |s|
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = "Chris Blaettermann"
9
9
  s.email = "chris@librato.com"
10
- s.homepage = "http://rubygems.org/gems/librato_silverline_api"
11
- s.summary = "Write a gem summary"
12
- s.description = "Write a gem description"
10
+ s.homepage = "http://github.com/librato/silverline-api-ruby"
11
+ s.summary = "Ruby Gem for connecting to the Librato Silverline API"
12
+ s.description = "This Gem is a wrapper for the Librato Silverline API. It adapts the basic behavior of ActiveResource and represents API resources as objects in Ruby."
13
13
 
14
14
  s.required_rubygems_version = ">= 1.3.6"
15
15
  s.rubyforge_project = "librato_silverline_api"
16
16
 
17
17
  s.add_development_dependency "bundler", ">= 1.0.0"
18
-
18
+ s.add_development_dependency "rake", ">= 0.8.7"
19
+ s.add_development_dependency "rcov", ">= 0.9.8"
20
+
19
21
  s.add_dependency("rest-client", "1.6.1")
20
22
  s.add_dependency("json", "1.4.6")
21
23
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librato_silverline_api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 0
10
- version: 1.0.0
9
+ - 1
10
+ version: 1.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chris Blaettermann
@@ -15,12 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-26 00:00:00 -08:00
18
+ date: 2011-04-04 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: bundler
23
- prerelease: false
24
22
  requirement: &id001 !ruby/object:Gem::Requirement
25
23
  none: false
26
24
  requirements:
@@ -32,12 +30,44 @@ dependencies:
32
30
  - 0
33
31
  - 0
34
32
  version: 1.0.0
35
- type: :development
33
+ prerelease: false
36
34
  version_requirements: *id001
35
+ type: :development
36
+ name: bundler
37
37
  - !ruby/object:Gem::Dependency
38
- name: rest-client
39
- prerelease: false
40
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 49
44
+ segments:
45
+ - 0
46
+ - 8
47
+ - 7
48
+ version: 0.8.7
49
+ prerelease: false
50
+ version_requirements: *id002
51
+ type: :development
52
+ name: rake
53
+ - !ruby/object:Gem::Dependency
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 43
60
+ segments:
61
+ - 0
62
+ - 9
63
+ - 8
64
+ version: 0.9.8
65
+ prerelease: false
66
+ version_requirements: *id003
67
+ type: :development
68
+ name: rcov
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: &id004 !ruby/object:Gem::Requirement
41
71
  none: false
42
72
  requirements:
43
73
  - - "="
@@ -48,12 +78,12 @@ dependencies:
48
78
  - 6
49
79
  - 1
50
80
  version: 1.6.1
81
+ prerelease: false
82
+ version_requirements: *id004
51
83
  type: :runtime
52
- version_requirements: *id002
84
+ name: rest-client
53
85
  - !ruby/object:Gem::Dependency
54
- name: json
55
- prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
86
+ requirement: &id005 !ruby/object:Gem::Requirement
57
87
  none: false
58
88
  requirements:
59
89
  - - "="
@@ -64,9 +94,11 @@ dependencies:
64
94
  - 4
65
95
  - 6
66
96
  version: 1.4.6
97
+ prerelease: false
98
+ version_requirements: *id005
67
99
  type: :runtime
68
- version_requirements: *id003
69
- description: Write a gem description
100
+ name: json
101
+ description: This Gem is a wrapper for the Librato Silverline API. It adapts the basic behavior of ActiveResource and represents API resources as objects in Ruby.
70
102
  email: chris@librato.com
71
103
  executables: []
72
104
 
@@ -91,7 +123,7 @@ files:
91
123
  - test/unit/container-test.rb
92
124
  - test/unit/template-test.rb
93
125
  has_rdoc: true
94
- homepage: http://rubygems.org/gems/librato_silverline_api
126
+ homepage: http://github.com/librato/silverline-api-ruby
95
127
  licenses: []
96
128
 
97
129
  post_install_message:
@@ -125,6 +157,6 @@ rubyforge_project: librato_silverline_api
125
157
  rubygems_version: 1.4.2
126
158
  signing_key:
127
159
  specification_version: 3
128
- summary: Write a gem summary
160
+ summary: Ruby Gem for connecting to the Librato Silverline API
129
161
  test_files: []
130
162