awsum 0.5.2 → 0.5.3

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/.rspec CHANGED
@@ -1 +1,2 @@
1
+ --tty
1
2
  --colour
data/Gemfile CHANGED
@@ -6,10 +6,8 @@ gem "bundler", "~> 1.0.0"
6
6
  group :development do
7
7
  gem "jeweler"
8
8
  gem "rspec", ">= 2.0.0"
9
- gem "fakeweb"
10
9
 
11
- gem "shoulda"
12
- gem "mocha"
10
+ gem "fakeweb"
13
11
  gem "rcov"
14
12
  gem "timecop"
15
13
  end
data/Gemfile.lock CHANGED
@@ -8,8 +8,6 @@ GEM
8
8
  bundler (~> 1.0.0)
9
9
  git (>= 1.2.5)
10
10
  rake
11
- mocha (0.9.10)
12
- rake
13
11
  rake (0.8.7)
14
12
  rcov (0.9.9)
15
13
  rspec (2.4.0)
@@ -20,7 +18,6 @@ GEM
20
18
  rspec-expectations (2.4.0)
21
19
  diff-lcs (~> 1.1.2)
22
20
  rspec-mocks (2.4.0)
23
- shoulda (2.11.3)
24
21
  timecop (0.3.5)
25
22
 
26
23
  PLATFORMS
@@ -30,9 +27,7 @@ DEPENDENCIES
30
27
  bundler (~> 1.0.0)
31
28
  fakeweb
32
29
  jeweler
33
- mocha
34
30
  rake
35
31
  rcov
36
32
  rspec (>= 2.0.0)
37
- shoulda
38
33
  timecop
data/lib/awsum.rb CHANGED
@@ -11,7 +11,7 @@ require 'awsum/requestable'
11
11
  require 'awsum/support'
12
12
 
13
13
  module Awsum
14
- VERSION = "0.5.2"
14
+ VERSION = "0.5.3"
15
15
 
16
16
  API_VERSION = '2010-08-31'
17
17
  SIGNATURE_VERSION = 2
data/lib/awsum/ec2.rb CHANGED
@@ -203,7 +203,13 @@ module Awsum
203
203
  require 'open-uri'
204
204
  begin
205
205
  instance_id = open('http://169.254.169.254/latest/meta-data/instance-id').read
206
- instance instance_id
206
+ availability_zone = open('http://169.254.169.254/latest/meta-data/placement/availability-zone').read
207
+ #NOTE: This relies on the assumption that the region code is
208
+ # always one less character than the availability zone
209
+ region_code = availability_zone.chop
210
+ region(region_code) do
211
+ instance instance_id
212
+ end
207
213
  rescue OpenURI::HTTPError => e
208
214
  nil
209
215
  end
@@ -52,6 +52,10 @@ module Awsum
52
52
  @ec2.send(method_name, *args, &block)
53
53
  end
54
54
  end
55
+
56
+ def respond_to?(method_name, include_private = false)
57
+ @ec2.respond_to?(method_name, include_private) || super
58
+ end
55
59
  end
56
60
  end
57
61
  end
@@ -42,6 +42,7 @@ module Awsum
42
42
  params_string << "&Signature=#{CGI::escape(signature)}"
43
43
 
44
44
  url = "https://#{host}/?#{params_string}"
45
+ puts "url: #{url}" if ENV['DEBUG']
45
46
  response = process_request('GET', url)
46
47
  if response.is_a?(Net::HTTPSuccess)
47
48
  response
@@ -56,7 +56,9 @@ module Awsum
56
56
 
57
57
  describe "retrieving a filtered list of images with a complicated filter" do
58
58
  before do
59
+ #Registering 2 different uri's to handle the difference between Ruby 1.8.7 and 1.9.2
59
60
  FakeWeb.register_uri(:get, %r|https://ec2\.amazonaws\.com/?.*Action=DescribeImages.*Filter.1.Name=tag%3AName.*Filter.1.Value.1=Test.*Filter.2.Name=image-type.*Filter.2.Value.1=machine.*Filter.2.Value.2=kernel.*Filter.2.Value.3=ramdisk.*Filter.3.Name=architecture.*Filter.3.Value.1=i386|, :body => fixture('ec2/images'), :status => 200)
61
+ FakeWeb.register_uri(:get, %r|https://ec2\.amazonaws\.com/?.*Action=DescribeImages.*Filter.1.Name=architecture.*Filter.1.Value.1=i386.*Filter.2.Name=tag%3AName.*Filter.2.Value.1=Test.*Filter.3.Name=image-type.*Filter.3.Value.1=machine.*Filter.3.Value.2=kernel.*Filter.3.Value.3=ramdisk|, :body => fixture('ec2/images'), :status => 200)
60
62
  end
61
63
 
62
64
  let(:result) { ec2.images(:filter => {:architecture => 'i386', 'tag:Name' => 'Test', 'image-type' => ['machine', 'kernel', 'ramdisk']}) }
@@ -135,8 +135,10 @@ module Awsum
135
135
  describe "on a running instance" do
136
136
  it "should be able to retrieve an instance of itself" do
137
137
  FakeWeb.register_uri(:get, 'http://169.254.169.254/latest/meta-data/instance-id', :body => 'i-3f1cc856', :status => 200)
138
+ FakeWeb.register_uri(:get, 'http://169.254.169.254/latest/meta-data/placement/availability-zone', :body => 'eu-west-1a', :status => 200)
138
139
 
139
- FakeWeb.register_uri(:get, %r|https://ec2\.amazonaws\.com/?.*Action=DescribeInstances.*InstanceId.1=i-3f1cc856|, :body => fixture('ec2/instance'), :status => 200)
140
+ FakeWeb.register_uri(:get, %r|https://ec2\.amazonaws\.com/?.*Action=DescribeRegions.*RegionName.1=eu-west-1|, :body => fixture('ec2/regions'), :status => 200)
141
+ FakeWeb.register_uri(:get, %r|https://eu-west-1.ec2\.amazonaws\.com/?.*Action=DescribeInstances.*InstanceId.1=i-3f1cc856|, :body => fixture('ec2/instance'), :status => 200)
140
142
 
141
143
  ec2.me.should be_a(Awsum::Ec2::Instance)
142
144
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awsum
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease: false
4
+ hash: 13
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 2
10
- version: 0.5.2
9
+ - 3
10
+ version: 0.5.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andrew Timberlake
@@ -15,12 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-01 00:00:00 +02:00
18
+ date: 2011-02-19 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :runtime
24
22
  name: rake
25
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
26
24
  none: false
@@ -31,10 +29,10 @@ dependencies:
31
29
  segments:
32
30
  - 0
33
31
  version: "0"
34
- requirement: *id001
35
- - !ruby/object:Gem::Dependency
36
32
  prerelease: false
37
33
  type: :runtime
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
38
36
  name: bundler
39
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
38
  none: false
@@ -47,10 +45,10 @@ dependencies:
47
45
  - 0
48
46
  - 0
49
47
  version: 1.0.0
48
+ prerelease: false
49
+ type: :runtime
50
50
  requirement: *id002
51
51
  - !ruby/object:Gem::Dependency
52
- prerelease: false
53
- type: :development
54
52
  name: jeweler
55
53
  version_requirements: &id003 !ruby/object:Gem::Requirement
56
54
  none: false
@@ -61,10 +59,10 @@ dependencies:
61
59
  segments:
62
60
  - 0
63
61
  version: "0"
64
- requirement: *id003
65
- - !ruby/object:Gem::Dependency
66
62
  prerelease: false
67
63
  type: :development
64
+ requirement: *id003
65
+ - !ruby/object:Gem::Dependency
68
66
  name: rspec
69
67
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
68
  none: false
@@ -77,10 +75,10 @@ dependencies:
77
75
  - 0
78
76
  - 0
79
77
  version: 2.0.0
80
- requirement: *id004
81
- - !ruby/object:Gem::Dependency
82
78
  prerelease: false
83
79
  type: :development
80
+ requirement: *id004
81
+ - !ruby/object:Gem::Dependency
84
82
  name: fakeweb
85
83
  version_requirements: &id005 !ruby/object:Gem::Requirement
86
84
  none: false
@@ -91,40 +89,12 @@ dependencies:
91
89
  segments:
92
90
  - 0
93
91
  version: "0"
94
- requirement: *id005
95
- - !ruby/object:Gem::Dependency
96
92
  prerelease: false
97
93
  type: :development
98
- name: shoulda
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
100
- none: false
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- hash: 3
105
- segments:
106
- - 0
107
- version: "0"
108
- requirement: *id006
109
- - !ruby/object:Gem::Dependency
110
- prerelease: false
111
- type: :development
112
- name: mocha
113
- version_requirements: &id007 !ruby/object:Gem::Requirement
114
- none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- hash: 3
119
- segments:
120
- - 0
121
- version: "0"
122
- requirement: *id007
94
+ requirement: *id005
123
95
  - !ruby/object:Gem::Dependency
124
- prerelease: false
125
- type: :development
126
96
  name: rcov
127
- version_requirements: &id008 !ruby/object:Gem::Requirement
97
+ version_requirements: &id006 !ruby/object:Gem::Requirement
128
98
  none: false
129
99
  requirements:
130
100
  - - ">="
@@ -133,12 +103,12 @@ dependencies:
133
103
  segments:
134
104
  - 0
135
105
  version: "0"
136
- requirement: *id008
137
- - !ruby/object:Gem::Dependency
138
106
  prerelease: false
139
107
  type: :development
108
+ requirement: *id006
109
+ - !ruby/object:Gem::Dependency
140
110
  name: timecop
141
- version_requirements: &id009 !ruby/object:Gem::Requirement
111
+ version_requirements: &id007 !ruby/object:Gem::Requirement
142
112
  none: false
143
113
  requirements:
144
114
  - - ">="
@@ -147,12 +117,12 @@ dependencies:
147
117
  segments:
148
118
  - 0
149
119
  version: "0"
150
- requirement: *id009
151
- - !ruby/object:Gem::Dependency
152
120
  prerelease: false
153
121
  type: :development
122
+ requirement: *id007
123
+ - !ruby/object:Gem::Dependency
154
124
  name: rspec
155
- version_requirements: &id010 !ruby/object:Gem::Requirement
125
+ version_requirements: &id008 !ruby/object:Gem::Requirement
156
126
  none: false
157
127
  requirements:
158
128
  - - ">="
@@ -163,7 +133,9 @@ dependencies:
163
133
  - 0
164
134
  - 0
165
135
  version: 2.0.0
166
- requirement: *id010
136
+ prerelease: false
137
+ type: :development
138
+ requirement: *id008
167
139
  description:
168
140
  email: andrew@andrewtimberlake.com
169
141
  executables: []
@@ -340,7 +312,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
340
312
  requirements: []
341
313
 
342
314
  rubyforge_project:
343
- rubygems_version: 1.3.7
315
+ rubygems_version: 1.5.2
344
316
  signing_key:
345
317
  specification_version: 3
346
318
  summary: A library for working with Amazon Web Services in the most natural rubyish way