cap_reserve 0.1.2 → 0.1.3

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.
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