titanic 0.0.4 → 0.0.6

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.
@@ -3,6 +3,7 @@ require 'logger'
3
3
  require 'aws-sdk'
4
4
  require 'fileutils'
5
5
  require 'net/http'
6
+ require 'json'
6
7
 
7
8
  module Titanic
8
9
  class Titanic
@@ -11,17 +12,19 @@ module Titanic
11
12
  @paranoid = true
12
13
  log.debug "opts are #{opts}"
13
14
  require_and_set(opts,[
14
- 'project',
15
+ 'project',
16
+ 'prefix',
15
17
  ])
16
18
  set(opts,[
17
- 'access_key',
18
- 'secret_key',
19
- 'bucket',
20
- 'prefix',
21
- 'url',
22
- 'environment',
23
- 'role',
24
- 'paranoid',
19
+ 'access_key',
20
+ 'secret_key',
21
+ 'bucket',
22
+ 'url',
23
+ 'environment',
24
+ 'role',
25
+ 'paranoid',
26
+ 'uuid',
27
+ 'deploy_id',
25
28
  ])
26
29
  log.debug "paranoid is set to #{@paranoid}"
27
30
  end
@@ -40,10 +43,14 @@ module Titanic
40
43
  end
41
44
  end
42
45
 
43
- def put_deploy(uuid)
44
- verify(['environment','role'])
45
- log.info "releasing new deploy #{uuid} at #{deploy_path}"
46
- s3.objects[deploy_path].write(uuid)
46
+ def put_deploy
47
+ verify(['environment','role','uuid','deploy_id'])
48
+ log.info "releasing new deploy #{@uuid} at #{deploy_path}"
49
+ deploy_contents = {
50
+ 'uuid' => @uuid,
51
+ 'deploy_id' => @deploy_id
52
+ }
53
+ s3.objects[deploy_path].write(deploy_contents.to_json)
47
54
  log.debug "done"
48
55
  end
49
56
 
@@ -53,7 +60,7 @@ module Titanic
53
60
  log.error "exiting"
54
61
  exit 8
55
62
  end
56
- return s3.objects[deploy_path].read
63
+ return JSON.parse(s3.objects[deploy_path].read)
57
64
  end
58
65
 
59
66
  def get_deploy_from_http()
@@ -67,7 +74,7 @@ module Titanic
67
74
  response = http.request(request)
68
75
  log.debug "response code is #{response.code}"
69
76
  raise "file does not exist" unless (response.code.to_i >= 200 && response.code.to_i < 300)
70
- return response.body
77
+ return JSON.parse(response.body)
71
78
  rescue
72
79
  log.error "could not get deploy #{proper_path} from #{@url}. raising error"
73
80
  raise "could not get deploy #{proper_path} from #{@url}"
@@ -156,6 +163,13 @@ module Titanic
156
163
  end
157
164
 
158
165
  def deploy_path
166
+ log.debug "in deploy_path"
167
+ %w{prefix project environment role}.each do |var|
168
+ log.debug "var #{var} is:"
169
+ value = instance_variable_get "@#{var}"
170
+ log.debug " #{value}"
171
+ end
172
+
159
173
  File.join @prefix, @project, 'deploys', @environment, @role
160
174
  end
161
175
 
@@ -1,3 +1,3 @@
1
1
  module Titanic
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler", "~> 1.1"
22
22
  spec.add_development_dependency "rake"
23
23
 
24
24
  spec.add_dependency "trollop"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: titanic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-07 00:00:00.000000000 Z
12
+ date: 2013-06-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '1.3'
21
+ version: '1.1'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '1.3'
29
+ version: '1.1'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
32
  requirement: !ruby/object:Gem::Requirement