jamie-ec2 0.1.0 → 0.2.0

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/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ notifications:
5
+ irc:
6
+ channels:
7
+ - "irc.freenode.org#jamie-ci"
8
+ use_notice: true
9
+ skip_join: true
data/Rakefile CHANGED
@@ -7,4 +7,10 @@ Cane::RakeTask.new
7
7
 
8
8
  Tailor::RakeTask.new
9
9
 
10
- task :default => [ :cane, :tailor ]
10
+ desc "Display LOC stats"
11
+ task :stats do
12
+ puts "\n## Production Code Stats"
13
+ sh "countloc -r lib/jamie"
14
+ end
15
+
16
+ task :default => [ :cane, :tailor, :stats ]
data/jamie-ec2.gemspec CHANGED
@@ -17,9 +17,10 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency 'jamie'
20
+ gem.add_dependency 'jamie', '~> 0.1.0.alpha19'
21
21
  gem.add_dependency 'fog'
22
22
 
23
23
  gem.add_development_dependency 'cane'
24
24
  gem.add_development_dependency 'tailor'
25
+ gem.add_development_dependency 'countloc'
25
26
  end
@@ -25,7 +25,9 @@ module Jamie
25
25
 
26
26
  module Driver
27
27
 
28
- # Ec2 driver for Jamie.
28
+ # Amazon EC2 driver for Jamie.
29
+ #
30
+ # @author Fletcher Nichol <fnichol@nichol.ca>
29
31
  class Ec2 < Jamie::Driver::SSHBase
30
32
 
31
33
  default_config 'region', 'us-east-1'
@@ -35,25 +37,24 @@ module Jamie
35
37
  default_config 'username', 'root'
36
38
  default_config 'port', '22'
37
39
 
38
- def create(instance, state)
39
- server = create_server(instance)
40
+ def create(state)
41
+ server = create_server
40
42
  state['server_id'] = server.id
41
43
 
42
- elapsed = Benchmark.measure do
43
- server.wait_for { print "."; ready? } ; print "(server ready)"
44
- state['hostname'] = server.public_ip_address
45
- wait_for_sshd(state['hostname']) ; print "(ssh ready)\n"
46
- end
47
- puts " Created #{instance.name} in #{elapsed.real} seconds."
44
+ info("EC2 instance <#{state['server_id']}> created.")
45
+ server.wait_for { print "."; ready? } ; print "(server ready)"
46
+ state['hostname'] = server.public_ip_address
47
+ wait_for_sshd(state['hostname']) ; print "(ssh ready)\n"
48
48
  rescue Fog::Errors::Error, Excon::Errors::Error => ex
49
49
  raise ActionFailed, ex.message
50
50
  end
51
51
 
52
- def destroy(instance, state)
52
+ def destroy(state)
53
53
  return if state['server_id'].nil?
54
54
 
55
55
  server = connection.servers.get(state['server_id'])
56
56
  server.destroy unless server.nil?
57
+ info("EC2 instance <#{state['server_id']}> destroyed.")
57
58
  state.delete('server_id')
58
59
  state.delete('hostname')
59
60
  end
@@ -69,7 +70,7 @@ module Jamie
69
70
  )
70
71
  end
71
72
 
72
- def create_server(instance)
73
+ def create_server
73
74
  connection.servers.create(
74
75
  :availability_zone => config['availability_zone'],
75
76
  :groups => config['groups'],
@@ -20,7 +20,7 @@ module Jamie
20
20
 
21
21
  module Driver
22
22
 
23
- # Version string for Ec2 Jamie driver
24
- EC2_VERSION = "0.1.0"
23
+ # Version string for EC2 Jamie driver
24
+ EC2_VERSION = "0.2.0"
25
25
  end
26
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jamie-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-27 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jamie
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 0.1.0.alpha19
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 0.1.0.alpha19
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: fog
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +75,22 @@ dependencies:
75
75
  - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: countloc
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
78
94
  description: Jamie::Driver::Ec2 - A Jamie Driver for Ec2
79
95
  email:
80
96
  - fnichol@nichol.ca
@@ -83,6 +99,7 @@ extensions: []
83
99
  extra_rdoc_files: []
84
100
  files:
85
101
  - .gitignore
102
+ - .travis.yml
86
103
  - Gemfile
87
104
  - LICENSE
88
105
  - README.md
@@ -104,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
121
  version: '0'
105
122
  segments:
106
123
  - 0
107
- hash: -167423800758030651
124
+ hash: -117953070356559829
108
125
  required_rubygems_version: !ruby/object:Gem::Requirement
109
126
  none: false
110
127
  requirements:
@@ -113,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
130
  version: '0'
114
131
  segments:
115
132
  - 0
116
- hash: -167423800758030651
133
+ hash: -117953070356559829
117
134
  requirements: []
118
135
  rubyforge_project:
119
136
  rubygems_version: 1.8.24