fog_tracker 0.2.1 → 0.2.2

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/README.md CHANGED
@@ -65,8 +65,8 @@ How is it [done]? (Usage)
65
65
  # get all Amazon EC2 Resources, of all types, across all accounts
66
66
  tracker["*::Compute::AWS::*"] # the [] operator is the same as query()
67
67
 
68
- # get all S3 objects in a given account
69
- tracker["my production account::Storage::AWS::files"]
68
+ # get all S3 buckets in a given account
69
+ tracker["my production account::Storage::AWS::directories"]
70
70
 
71
71
  ----------------
72
72
  *Usage Tips*
@@ -85,9 +85,15 @@ module FogTracker
85
85
 
86
86
  # Returns a Fog::Connection object to this account's Fog service
87
87
  def connection
88
- service_mod = ::Fog::const_get @account[:service]
89
- provider_class = service_mod.send(:const_get, @account[:provider])
90
- @fog_service ||= provider_class.new(@account[:credentials])
88
+ if ::Fog::const_defined? @account[:service]
89
+ service_mod = ::Fog::const_get @account[:service]
90
+ provider_class = service_mod.send(:const_get, @account[:provider])
91
+ @fog_service ||= provider_class.new(@account[:credentials])
92
+ else
93
+ provider_mod = ::Fog::const_get @account[:provider]
94
+ service_class = provider_mod.send(:const_get, @account[:service])
95
+ @fog_service ||= service_class.new(@account[:credentials])
96
+ end
91
97
  end
92
98
 
93
99
  # Returns an Array of resource types (Strings) to track
@@ -1,3 +1,3 @@
1
1
  module FogTracker
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -19,21 +19,42 @@ module FogTracker
19
19
  end
20
20
 
21
21
  it "exposes its Hash of account information" do
22
- @tracker.connection.should_not == nil
22
+ @tracker.account.should == FAKE_ACCOUNT
23
23
  end
24
24
  it "exposes the account name" do
25
25
  @tracker.name.should == FAKE_ACCOUNT_NAME
26
26
  end
27
- it "exposes the connection to its Fog service" do
28
- @tracker.account.should == FAKE_ACCOUNT
29
- end
30
- it "exposes the connection to its logger" do
27
+ it "exposes its logger" do
31
28
  @tracker.log.should_not == nil
32
29
  end
33
30
  it "always sets a polling time" do
34
31
  @tracker.account[:polling_time].should be_an_instance_of(Fixnum)
35
32
  end
36
33
 
34
+ describe '#connection' do
35
+ context "when the provider is AWS" do
36
+ context "when the service is Compute" do
37
+ tracker = AccountTracker.new("EC2 account", FAKE_ACCOUNT)
38
+ it "exposes the connection to its Fog service" do
39
+ tracker.connection.should_not == nil
40
+ end
41
+ end
42
+ context "when the service is RDS" do
43
+ tracker = AccountTracker.new("EC2 account", {
44
+ :provider => 'AWS',
45
+ :service => 'RDS',
46
+ :credentials => {
47
+ :aws_access_key_id => "fake user",
48
+ :aws_secret_access_key => 'fake password'
49
+ }
50
+ })
51
+ it "exposes the connection to its Fog service" do
52
+ tracker.connection.should_not == nil
53
+ end
54
+ end
55
+ end
56
+ end
57
+
37
58
  describe '#update' do
38
59
  it "sends update() to its CollectionTrackers" do
39
60
  update_catcher = double "mock for catching CollectionTracker::update"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog_tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
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-02-06 00:00:00.000000000Z
12
+ date: 2012-02-09 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog
16
- requirement: &70301255176120 !ruby/object:Gem::Requirement
16
+ requirement: &70268295001560 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70301255176120
24
+ version_requirements: *70268295001560
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70301255175000 !ruby/object:Gem::Requirement
27
+ requirement: &70268295000400 !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: *70301255175000
35
+ version_requirements: *70268295000400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70301255173960 !ruby/object:Gem::Requirement
38
+ requirement: &70268294999500 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70301255173960
46
+ version_requirements: *70268294999500
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: yard
49
- requirement: &70301255173260 !ruby/object:Gem::Requirement
49
+ requirement: &70268294998340 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70301255173260
57
+ version_requirements: *70268294998340
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: guard
60
- requirement: &70301255172280 !ruby/object:Gem::Requirement
60
+ requirement: &70268294997600 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70301255172280
68
+ version_requirements: *70268294997600
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard-rspec
71
- requirement: &70301255171500 !ruby/object:Gem::Requirement
71
+ requirement: &70268294996740 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70301255171500
79
+ version_requirements: *70268294996740
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: ruby_gntp
82
- requirement: &70301255163720 !ruby/object:Gem::Requirement
82
+ requirement: &70268294995920 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70301255163720
90
+ version_requirements: *70268294995920
91
91
  description: This gem peridically polls mutiple cloud computing services using the
92
92
  fog gem, asynchronously updating the state of the resulting collections of Fog Resources.
93
93
  email:
@@ -138,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
138
  version: '0'
139
139
  segments:
140
140
  - 0
141
- hash: -498220163521293823
141
+ hash: -2942181140589294968
142
142
  required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  none: false
144
144
  requirements:
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  version: '0'
148
148
  segments:
149
149
  - 0
150
- hash: -498220163521293823
150
+ hash: -2942181140589294968
151
151
  requirements: []
152
152
  rubyforge_project: fog_tracker
153
153
  rubygems_version: 1.8.10