ey_cli 0.1.1 → 0.1.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/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ey_cli (0.1.1)
4
+ ey_cli (0.1.2)
5
5
  faraday
6
6
  faraday-stack
7
7
  faraday_middleware
data/ey_cli.gemspec CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'ey_cli'
16
- s.version = '0.1.1'
17
- s.date = '2011-10-16'
16
+ s.version = '0.1.2'
17
+ s.date = '2011-10-17'
18
18
  s.rubyforge_project = 'ey_cli'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -91,6 +91,7 @@ Gem::Specification.new do |s|
91
91
  lib/ey_cli/models/account.rb
92
92
  lib/ey_cli/models/app.rb
93
93
  lib/ey_cli/models/base.rb
94
+ lib/ey_cli/models/deployment.rb
94
95
  lib/ey_cli/models/environment.rb
95
96
  lib/ey_cli/options_parser.rb
96
97
  lib/ey_cli/smarty_parser.rb
data/history.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.1.2 (10-17-2011)
2
+
3
+ - Fix git uri label.
4
+ - Show latest deployment information.
5
+
1
6
  ## 0.1.1 (10-16-2011)
2
7
 
3
8
  - Fix some log messages.
@@ -36,6 +36,8 @@ Options:
36
36
  --solo A single instance for application and database.
37
37
  --stack App server stack, either passenger, unicorn or trinidad.
38
38
  --no_env Prevent to not create a default environment.
39
+ --app_size Size of the app instances.
40
+ --db_size Size of the db instances.
39
41
  EOF
40
42
  end
41
43
 
@@ -28,6 +28,8 @@ Options:
28
28
  --db_instances number Number of database slaves.
29
29
  --solo A single instance for application and database.
30
30
  --stack App server stack, either passenger, unicorn or trinidad.
31
+ --app_size Size of the app instances.
32
+ --db_size Size of the db instances.
31
33
  EOF
32
34
  end
33
35
 
@@ -17,7 +17,7 @@ module EYCli
17
17
  %Q{
18
18
  #{app.name}:
19
19
  - Info:
20
- + git repository: #{app.git_repository}}
20
+ + git repository: #{app.repository_uri}}
21
21
  end
22
22
 
23
23
  def status(app)
@@ -31,9 +31,23 @@ module EYCli
31
31
  - stack: #{env.app_server_stack_name}
32
32
  - status: #{env.instance_status}}
33
33
 
34
+ if deploy = env.last_deployment(app)
35
+ status << %Q{
36
+ + last deploy info:
37
+ - commit: #{deploy.commit}
38
+ - created at: #{deploy.created_at}
39
+ - finished at: #{deploy.finished_at}
40
+ - migrated: #{deploy.migrate}}
41
+ if deploy.migrate
42
+ status << %Q{
43
+ - migrate command: #{deploy.migrate_command}}
44
+ end
45
+ end
46
+
34
47
  if env.instances
35
48
  status << %Q{
36
- - instances:}
49
+
50
+ - Status per instance:}
37
51
  env.instances.each do |instance|
38
52
  status << %Q{
39
53
  + #{instance.role}:
@@ -6,7 +6,7 @@ module EYCli
6
6
 
7
7
  def fetch_repository(base)
8
8
  config = File.join(base, '.git', 'config')
9
- `git config -f #{config} --get 'remote.origin.url'`
9
+ `git config -f #{config} --get 'remote.origin.url'`.chomp
10
10
  end
11
11
  end
12
12
  end
@@ -27,8 +27,15 @@ module EYCli
27
27
  end
28
28
 
29
29
  def self.resolve_child_path(args)
30
- collection_path = base_path % args[0..-1]
31
- "#{collection_path}/#{args.last}"
30
+ "#{collection_path(args[0..-1])}/#{args.last}"
31
+ end
32
+
33
+ def self.child_path(args)
34
+ resolve_child_path(args)
35
+ end
36
+
37
+ def self.collection_path(args)
38
+ base_path % args
32
39
  end
33
40
 
34
41
  def self.create(hash)
@@ -0,0 +1,18 @@
1
+ module EYCli
2
+ module Model
3
+ class Deployment < Base
4
+ base_path 'apps/%s/environments/%s/deployments'
5
+
6
+ def self.deploy_path(app, environment)
7
+ collection_path([app.id, environment.id]) + '/deploy'
8
+ end
9
+
10
+ def self.last_deployment(app, environment)
11
+ find(app.id, environment.id, 'last')
12
+ rescue Faraday::Error::ClientError => e # there is no last deployment if we never deployed the app
13
+ raise e unless e.response[:status] == 404
14
+ nil
15
+ end
16
+ end
17
+ end
18
+ end
@@ -25,7 +25,11 @@ module EYCli
25
25
  end
26
26
 
27
27
  def deploy_path(app)
28
- "#{self.class.resolve_child_path([app.id, id])}/deployments/deploy"
28
+ Deployment.deploy_path(app, self)
29
+ end
30
+
31
+ def last_deployment(app)
32
+ Deployment.last_deployment(app, self)
29
33
  end
30
34
  end
31
35
  end
@@ -20,6 +20,8 @@ module EYCli
20
20
  hash[key] = parse(value, EYCli::Model::App)
21
21
  when /environments?/
22
22
  hash[key] = parse(value, EYCli::Model::Environment)
23
+ when /deployments?/
24
+ hash[key] = parse(value, EYCli::Model::Deployment)
23
25
  else
24
26
  hash[key] = parse(value, Hashie::Mash)
25
27
  end
data/lib/ey_cli.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module EYCli
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
 
4
4
  require 'hashie/mash'
5
5
  require 'json'
@@ -16,6 +16,7 @@ module EYCli
16
16
  require 'ey_cli/models/base'
17
17
  require 'ey_cli/models/account'
18
18
  require 'ey_cli/models/app'
19
+ require 'ey_cli/models/deployment'
19
20
  require 'ey_cli/models/environment'
20
21
 
21
22
  require 'ey_cli/controllers/accounts'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ey_cli
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - David Calavera
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-16 00:00:00 Z
18
+ date: 2011-10-17 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
@@ -224,6 +224,7 @@ files:
224
224
  - lib/ey_cli/models/account.rb
225
225
  - lib/ey_cli/models/app.rb
226
226
  - lib/ey_cli/models/base.rb
227
+ - lib/ey_cli/models/deployment.rb
227
228
  - lib/ey_cli/models/environment.rb
228
229
  - lib/ey_cli/options_parser.rb
229
230
  - lib/ey_cli/smarty_parser.rb