spire_io 1.0.0.beta.2 → 1.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/spire/api/session.rb +24 -30
  2. metadata +6 -6
@@ -127,38 +127,32 @@ class Spire
127
127
  @channels ||= channels!
128
128
  end
129
129
 
130
- # Not yet in Spire API
131
- #define_request(:subscriptions) do
132
- #{
133
- #:method => :get,
134
- #:url => @resources["subscriptions"]["url"],
135
- #:headers => {
136
- #"Authorization" => "Capability #{@resources["subscriptions"]["capability"]}",
137
- #"Accept" => @spire.mediaType("subscription"),
138
- #}
139
- #}
140
- #end
141
-
142
- def subscriptions
143
- if @subscriptions
144
- @subscriptions
145
- else
146
- # TODO Fix this to use an API call once Spire supports it
147
- @subscriptions = {}
148
- channels.each do |name, channel|
149
- if subs = channel.properties["subscriptions"]
150
- subs.each do |key, sub|
151
- @subscriptions[key] = API::Subscription.new(@spire, sub)
152
- end
153
- end
154
- end
155
- @subscriptions
156
- end
130
+ define_request(:subscriptions) do
131
+ {
132
+ :method => :get,
133
+ :url => @resources["subscriptions"]["url"],
134
+ :headers => {
135
+ "Authorization" => "Capability #{@resources["subscriptions"]["capability"]}",
136
+ "Accept" => @spire.mediaType("subscriptions"),
137
+ }
138
+ }
157
139
  end
158
140
 
159
- def subscriptions!
160
- raise "unimplemented"
161
- end
141
+ def subscriptions
142
+ @subscriptions ||= subscriptions!
143
+ end
144
+
145
+ def subscriptions!
146
+ response = request(:subscriptions)
147
+ unless response.status == 200
148
+ raise "Error retrieving Subscriptions: (#{response.status}) #{response.body}"
149
+ end
150
+ @subscriptions = {}
151
+ response.data.each do |name, properties|
152
+ @subscriptions[name] = API::Subscription.new(@spire, properties)
153
+ end
154
+ @subscriptions
155
+ end
162
156
 
163
157
  end
164
158
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spire_io
3
3
  version: !ruby/object:Gem::Version
4
- hash: 62196359
5
- prerelease: true
4
+ hash: 3899554913
5
+ prerelease: 6
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
9
  - 0
10
10
  - beta
11
- - 2
12
- version: 1.0.0.beta.2
11
+ - 3
12
+ version: 1.0.0.beta.3
13
13
  platform: ruby
14
14
  authors:
15
15
  - Dan Yoder
@@ -19,7 +19,7 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2012-02-01 00:00:00 -08:00
22
+ date: 2012-02-03 00:00:00 -08:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
@@ -151,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  requirements: []
152
152
 
153
153
  rubyforge_project:
154
- rubygems_version: 1.3.7
154
+ rubygems_version: 1.6.2
155
155
  signing_key:
156
156
  specification_version: 3
157
157
  summary: Ruby client for spire.io