awsum 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
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