solutious-rudy 0.9.0 → 0.9.1

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 (48) hide show
  1. data/CHANGES.txt +61 -4
  2. data/README.rdoc +91 -53
  3. data/Rakefile +0 -92
  4. data/Rudyfile +15 -25
  5. data/bin/rudy +52 -41
  6. data/examples/gem-test.rb +92 -0
  7. data/lib/rudy.rb +15 -7
  8. data/lib/rudy/aws.rb +2 -2
  9. data/lib/rudy/aws/ec2.rb +2 -2
  10. data/lib/rudy/aws/ec2/instance.rb +3 -3
  11. data/lib/rudy/aws/ec2/volume.rb +4 -4
  12. data/lib/rudy/cli/aws/ec2/candy.rb +13 -13
  13. data/lib/rudy/cli/base.rb +10 -4
  14. data/lib/rudy/cli/config.rb +13 -3
  15. data/lib/rudy/cli/disks.rb +1 -1
  16. data/lib/rudy/cli/execbase.rb +5 -2
  17. data/lib/rudy/cli/machines.rb +231 -30
  18. data/lib/rudy/cli/networks.rb +34 -0
  19. data/lib/rudy/cli/routines.rb +1 -1
  20. data/lib/rudy/cli/status.rb +60 -0
  21. data/lib/rudy/config.rb +42 -14
  22. data/lib/rudy/exceptions.rb +5 -1
  23. data/lib/rudy/global.rb +29 -13
  24. data/lib/rudy/huxtable.rb +2 -2
  25. data/lib/rudy/machines.rb +2 -2
  26. data/lib/rudy/metadata/disk.rb +2 -1
  27. data/lib/rudy/routines.rb +3 -3
  28. data/lib/rudy/routines/base.rb +7 -4
  29. data/lib/rudy/routines/handlers/disks.rb +16 -6
  30. data/lib/rudy/routines/handlers/group.rb +5 -3
  31. data/lib/rudy/routines/handlers/host.rb +14 -16
  32. data/lib/rudy/routines/handlers/script.rb +2 -2
  33. data/lib/rudy/routines/handlers/user.rb +4 -0
  34. data/lib/rudy/routines/reboot.rb +26 -9
  35. data/lib/rudy/routines/shutdown.rb +4 -0
  36. data/lib/rudy/routines/startup.rb +3 -2
  37. data/lib/rudy/utils.rb +23 -9
  38. data/rudy.gemspec +10 -29
  39. data/tryouts/10_require_time/10_rudy_tryouts.rb +1 -1
  40. data/tryouts/{misc/console_tryout.rb → exploration/console.rb} +0 -0
  41. data/tryouts/{misc/usage_tryout.rb → exploration/machine.rb} +0 -0
  42. data/tryouts/failer +1 -1
  43. metadata +8 -70
  44. data/tryouts/misc/disks_tryout.rb +0 -48
  45. data/tryouts/misc/drydock_tryout.rb +0 -48
  46. data/tryouts/misc/nested_methods.rb +0 -103
  47. data/tryouts/misc/session_tryout.rb +0 -46
  48. data/tryouts/misc/tryouts.rb +0 -33
@@ -1,48 +0,0 @@
1
- #!/usr/bin/ruby
2
-
3
- # Tryout - Fix namespace conflicts between Drydock, Rudy, and Caesars
4
- #
5
-
6
- $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
7
-
8
- require 'drydock'
9
- require 'tryouts'
10
- include Tryouts
11
-
12
- Drydock.run = false
13
-
14
- tryout("include within module") do
15
- module SomeModule
16
- include Drydock
17
- before do
18
- end
19
- puts "Works!" # Doesn't run
20
- end
21
- end
22
-
23
- tryout("extend within module") do
24
- module SomeModule
25
- extend Drydock
26
- before do
27
- end
28
- puts "Works!" # Runs
29
- end
30
- end
31
-
32
- tryout("use before in main without include or extend") do
33
- before do
34
- end
35
- puts "Works!" # Runs
36
- end
37
-
38
- tryout("include within main, use before in SomeModule") do
39
- include Drydock
40
- before do
41
- end
42
- module SomeModule
43
- before do
44
- end
45
- puts "just ran SomeModule.before" # Run
46
- end
47
- puts "Works!" # Runs
48
- end
@@ -1,103 +0,0 @@
1
-
2
- ## Example 2
3
-
4
- class Helper
5
- attr_accessor :worker
6
- def metaclass
7
- (class << self; self; end)
8
- end
9
-
10
- def meta_eval &block
11
- metaclass.instance_eval &block
12
- end
13
-
14
- def add_method(meth)
15
- meta_eval do
16
- define_method( meth ) do |val|
17
- @worker2 = val if val
18
- val
19
- end
20
- end
21
- end
22
- end
23
-
24
- h = Helper.new
25
- h.worker = true
26
- h.add_method(:worker2)
27
- h.worker2(1)
28
-
29
-
30
-
31
- __END__
32
-
33
- ## Example 1 -- test3 is not available until after test2 is called
34
- module Helper
35
-
36
- def test1
37
- puts "test1"
38
-
39
- def test2
40
- def test3
41
- puts "AWESOME"
42
- end
43
-
44
- puts "test2"
45
- yield
46
- end
47
-
48
- def test3
49
- puts "test3"
50
- end
51
- yield
52
- end
53
-
54
- end
55
-
56
- include Helper
57
-
58
- test1 do
59
- puts "1"
60
- test3 # => test3
61
- test2 do
62
- test3 # => AWESOME
63
- puts "2"
64
- end
65
- end
66
-
67
- # test2 # => throws error
68
-
69
- __END__
70
-
71
- ## Sam's example -- "there" is available to the entire method after hello is called.
72
-
73
- class Foo
74
-
75
- def machines
76
- puts '1'
77
- end
78
-
79
- def ami
80
- puts '2'
81
- end
82
-
83
- end
84
-
85
-
86
- class Bar
87
-
88
- def hello
89
- def there
90
- puts '3'
91
- end
92
- end
93
- end
94
-
95
-
96
- Foo.new.machines
97
- Foo.new.ami
98
- Bar.new.hello
99
-
100
- Bar.new.there
101
- Bar.new.there
102
-
103
- #class << self;
@@ -1,46 +0,0 @@
1
- #!/usr/bin/ruby
2
-
3
- $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
4
-
5
- require 'session'
6
- require 'net/ssh'
7
- require 'rye'
8
- require 'yaml'
9
- require 'stringio'
10
-
11
- #p Rye.command('ssh', '-i', '', '')
12
-
13
- module Rye::Box::Commands
14
- def rudy(*args); command("/proj/git/rudy/bin/rudy", args); end
15
- end
16
-
17
- logger = StringIO.new
18
- rbox = Rye::Box.new('localhost', 'delano', :stderr => logger).connect
19
- #rbox2 = Rye::Box.new('ec2-174-129-173-3.compute-1.amazonaws.com', 'root')
20
- #rbox.add_keys('/Users/delano/Projects/git/rudy/.rudy/key-test-app')
21
- #rbox.connect
22
- #puts rbox.date
23
- #puts rbox.pwd
24
- puts rbox['/usr/bin'].pwd
25
- puts rbox.uptime
26
- puts rbox.can
27
- puts rbox.echo '$HOME'
28
- puts rbox.rudy('myaddress')
29
- rbox.disconnect
30
- #puts logger.read
31
- #>>
32
-
33
- __END__
34
-
35
-
36
- rgroup = Rye::Group.new('root', 'keydir/file')
37
- rgroup.add_hosts('ec2-174-129-173-3.compute-1.amazonaws.com')
38
- rgroup.command('hostname')
39
-
40
-
41
-
42
- #shell = Session::Shell.new
43
-
44
- #p shell.execute('ssh -T -t -i /Users/delano/Projects/git/rudy/.rudy/key-test-app.private root@ec2-174-129-82-193.compute-1.amazonaws.com')
45
-
46
- #Net::SSH.configuration_for(localhost, ssh_options.fetch(:config, true)).merge(ssh_options)
@@ -1,33 +0,0 @@
1
-
2
- require 'ostruct'
3
-
4
- module Tryouts
5
-
6
- # tryout :name do
7
- # ...
8
- # end
9
- def tryout(name, &b)
10
- puts '-'*50
11
- puts "Running#{@poop}: #{name}"
12
- begin
13
- b.call
14
- sleep 0.1
15
- rescue Interrupt
16
- rescue => ex
17
- STDERR.puts "Tryout error: #{ex.message}"
18
- end
19
- puts $/*2
20
- end
21
-
22
- # Ignore everything
23
- def xtryout(name, &b)
24
- end
25
-
26
- # Is this wacky syntax useful for anything?
27
- # t2 :set .
28
- # run = "poop"
29
- def t2(*args)
30
- OpenStruct.new
31
- end
32
-
33
- end