dploy 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/dploy/client.rb CHANGED
@@ -3,20 +3,32 @@ require 'rest_client'
3
3
 
4
4
  module Dploy
5
5
 
6
- module Client
6
+ class Client
7
7
 
8
- def self.deploy(server, project, environment, version)
9
- deploy_data = JSON.parse((RestClient.post "http://#{server}/deploy", { :project => project, :environment => environment, :version => version }.to_json, :content_type => :json, :accept => :json))
10
- self.get_deploy_logs(server, deploy_data['id'])
8
+ def initialize(server, project, environment, version)
9
+ @server = server
10
+ @project = project
11
+ @environment = environment
12
+ @version = version
13
+ end
14
+
15
+ def deploy
16
+ deploy_data = JSON.parse((RestClient.post "http://#{@server}/deploy", { :project => @project, :environment => @environment, :version => @version }.to_json, :content_type => :json, :accept => :json))
17
+ get_deploy_logs(deploy_data['id'])
11
18
  end
12
19
 
13
- def self.get_deploy_logs(server, deploy_id)
20
+ def get_deploy_logs(deploy_id)
21
+ finished = false
14
22
  start_id = "000000000000000000000000"
15
- while true
16
- logs = JSON.parse(RestClient.get( "http://#{server}/logs/#{deploy_id}/?start_id=#{start_id}", :accept => :json))
23
+
24
+ while not finished
25
+ logs = JSON.parse(RestClient.get( "http://#{@server}/logs/#{deploy_id}/?start_id=#{start_id}", :accept => :json), :symbolize_keys => true)
17
26
  logs.each do |row|
18
- puts row
27
+ puts "#{row[:log_type]} #{row[:message]}"
28
+ STDOUT.flush
29
+ finished = true if row[:log_type] = "completion"
19
30
  end
31
+ sleep 1
20
32
  end
21
33
  end
22
34
 
@@ -24,4 +36,6 @@ module Dploy
24
36
 
25
37
  end
26
38
 
27
- Dploy::Client.deploy("dploy.internal.stylesaint.com:3000", "community", "test", ENV['VERSION'])
39
+
40
+ deployer = Dploy::Client.new("dploy.internal.stylesaint.com:3000", "community", "test", ENV['VERSION'])
41
+ deployer.deploy
data/lib/dploy/logger.rb CHANGED
@@ -9,21 +9,21 @@ module Dploy
9
9
  end
10
10
 
11
11
  def debug(message, metadata = {})
12
- metadata.merge({:log_type => 'debug' })
12
+ metadata = metadata.merge({:log_type => 'debug' })
13
13
  log(message, metadata)
14
14
  end
15
15
 
16
16
  def error(message, metadata = {})
17
- metadata.merge({:log_type => 'debug' })
17
+ metadata = metadata.merge({:log_type => 'error' })
18
18
  log(message, metadata)
19
19
  end
20
20
 
21
21
  def completion(message, metadata = {})
22
- metadata.merge({:log_type => 'debug' })
22
+ metadata = metadata.merge({:log_type => 'completion' })
23
23
  log(message, metadata)
24
24
  end
25
25
 
26
- def get_messages(collection, start_id = "000000000000000000000000")
26
+ def get_messages(start_id = "000000000000000000000000")
27
27
  @log.find(:_id => {"$gt" => BSON::ObjectId(start_id)}).map {|row| row}
28
28
  end
29
29
 
data/lib/dploy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dploy
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-11-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aws-sdk
16
- requirement: &12814260 !ruby/object:Gem::Requirement
16
+ requirement: &16246120 !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: *12814260
24
+ version_requirements: *16246120
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: chef
27
- requirement: &12813760 !ruby/object:Gem::Requirement
27
+ requirement: &16245620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *12813760
35
+ version_requirements: *16245620
36
36
  description: deploymoent module for chef and aws
37
37
  email:
38
38
  - james@stylesaint.com