cap_reserve 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/cap_reserve.gemspec +1 -1
  2. data/lib/cap_reserve.rb +48 -48
  3. metadata +3 -3
data/cap_reserve.gemspec CHANGED
@@ -6,7 +6,7 @@ $:.unshift lib unless $:.include?(lib)
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "cap_reserve"
9
- s.version = '0.1.2'
9
+ s.version = '0.1.3'
10
10
  s.platform = Gem::Platform::RUBY
11
11
  s.authors = [ "Winton Welsh" ]
12
12
  s.email = [ "mail@wintoni.us" ]
data/lib/cap_reserve.rb CHANGED
@@ -10,67 +10,67 @@ Capistrano::Configuration.instance(:must_exist).load do
10
10
 
11
11
  desc "Reserve environment using RESERVE=minutes"
12
12
  task :maitre_d do
13
- env, user, time, force, url, destroy =
14
- ENV['RESERVE_ENV'], ENV['USER'], ENV['RESERVE'], ENV['FORCE'], ENV['RESERVE_URL'], ENV['DESTROY']
13
+ begin
14
+ env, user, time, force, url, destroy =
15
+ ENV['RESERVE_ENV'], ENV['USER'], ENV['RESERVE'], ENV['FORCE'], ENV['RESERVE_URL'], ENV['DESTROY']
15
16
 
16
- help = <<-HELP
17
- FORCE=1 to deploy anyway
18
- DESTROY=1 to deploy and destroy reservation
17
+ help = <<-HELP
18
+ FORCE=1 to deploy anyway
19
+ DESTROY=1 to deploy and destroy reservation
19
20
  HELP
20
21
 
21
- expires_to_string = lambda do |expires|
22
- left = Time.at(expires) - Time.now
23
- if left < 60
24
- "#{left} seconds"
25
- elsif left / 60 < 60
26
- "#{sprintf "%.1f", left / 60} minutes"
27
- else
28
- "#{sprintf "%.1f", left / 60 / 60} hours"
22
+ expires_to_string = lambda do |expires|
23
+ left = Time.at(expires) - Time.now
24
+ if left < 60
25
+ "#{left} seconds"
26
+ elsif left / 60 < 60
27
+ "#{sprintf "%.1f", left / 60} minutes"
28
+ else
29
+ "#{sprintf "%.1f", left / 60 / 60} hours"
30
+ end
29
31
  end
30
- end
31
32
 
32
- get = lambda do |full_url, hash|
33
- params = ''
34
- hash.each do |k, v|
35
- params << "#{URI.escape(k.to_s)}=#{URI.escape(v.to_s)}&"
36
- end
37
- params.chop! # trailing &
33
+ get = lambda do |full_url, hash|
34
+ params = ''
35
+ hash.each do |k, v|
36
+ params << "#{URI.escape(k.to_s)}=#{URI.escape(v.to_s)}&"
37
+ end
38
+ params.chop! # trailing &
38
39
 
39
- puts "#{full_url}?#{params}"
40
- json = open("#{full_url}?#{params}").read
41
- Yajl::Parser.parse(json)
42
- end
40
+ json = open("#{full_url}?#{params}").read
41
+ Yajl::Parser.parse(json)
42
+ end
43
43
 
44
- create = lambda do |params|
45
- if time
46
- get.call("#{url}/reservations/create", {
47
- :environment => env, :user => user, :seconds => time.to_i * 60
48
- }.merge(params))
49
- puts "\n\e[32mReservation created\e[0m: \e[33m#{user}@#{env}\e[0m for \e[33m#{time.to_i} minutes\e[0m\n\n"
50
- elsif destroy
51
- res = get.call("#{url}/reservations/destroy", :environment => env)
52
- if res['status'] == 'reserved'
53
- puts "\n\e[32mReservation destroyed\e[0m: \e[33m#{res['user']}@#{env}\e[0m (\e[33m#{expires_to_string.call Time.at(res['expires'])}\e[0m left)\n\n"
44
+ create = lambda do |params|
45
+ if time
46
+ get.call("#{url}/reservations/create", {
47
+ :environment => env, :user => user, :seconds => time.to_i * 60
48
+ }.merge(params))
49
+ puts "\n\e[32mReservation created\e[0m: \e[33m#{user}@#{env}\e[0m for \e[33m#{time.to_i} minutes\e[0m\n\n"
50
+ elsif destroy
51
+ res = get.call("#{url}/reservations/destroy", :environment => env)
52
+ if res['status'] == 'reserved'
53
+ puts "\n\e[32mReservation destroyed\e[0m: \e[33m#{res['user']}@#{env}\e[0m (\e[33m#{expires_to_string.call Time.at(res['expires'])}\e[0m left)\n\n"
54
+ end
54
55
  end
55
56
  end
56
- end
57
57
 
58
- if env && user
59
- if destroy
60
- create.call({})
61
- elsif force
62
- create.call(:force => true)
63
- else
64
- res = get.call("#{url}/reservations/show", :environment => env)
65
- if res['status'] == 'reserved'
66
- puts "\n\e[31mReservation exists\e[0m: \e[33m#{res['user']}@#{env}\e[0m for \e[33m#{expires_to_string.call Time.at(res['expires'])}\e[0m\n#{help}\n"
67
- exit 0
68
- else
58
+ if env && user
59
+ if destroy
69
60
  create.call({})
61
+ elsif force
62
+ create.call(:force => true)
63
+ else
64
+ res = get.call("#{url}/reservations/show", :environment => env)
65
+ if res['status'] == 'reserved'
66
+ puts "\n\e[31mReservation exists\e[0m: \e[33m#{res['user']}@#{env}\e[0m for \e[33m#{expires_to_string.call Time.at(res['expires'])}\e[0m\n#{help}\n"
67
+ exit 0
68
+ else
69
+ create.call({})
70
+ end
70
71
  end
71
72
  end
73
+ rescue Exception => e
72
74
  end
73
-
74
- exit
75
75
  end
76
76
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cap_reserve
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Winton Welsh