ro_rmt 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +91 -0
  3. data/conf/ro_rmt.rb +203 -0
  4. data/conf/rsync/exclude_patterns +4 -0
  5. data/conf/rsync/include_patterns +10 -0
  6. data/lib/ro_cell/rmt.rb +254 -0
  7. data/lib/ro_cell/rmt/dir.rb +55 -0
  8. data/lib/ro_cell/rmt/file.rb +96 -0
  9. data/lib/ro_cell/rmt/opts.rb +21 -0
  10. data/lib/ro_cell/rmt/se_mgr.rb +51 -0
  11. data/lib/ro_cell/tmp/ro.log +49 -0
  12. data/lib/ro_cmd/ci.rb +32 -0
  13. data/lib/ro_cmd/rmt_base.rb +132 -0
  14. data/lib/ro_cmd/rmt_rspec.rb +26 -0
  15. data/lib/ro_helper/dp.rb +20 -0
  16. data/lib/ro_helper/rmt/basic.rb +441 -0
  17. data/lib/ro_helper/rmt/compress.rb +31 -0
  18. data/lib/ro_helper/rmt/determinations.rb +25 -0
  19. data/lib/ro_helper/rmt/dir.rb +11 -0
  20. data/lib/ro_helper/rmt/file.rb +13 -0
  21. data/lib/ro_helper/rmt/file_dir.rb +60 -0
  22. data/lib/ro_helper/rmt/process.rb +46 -0
  23. data/lib/ro_helper/rmt/rb.rb +131 -0
  24. data/lib/ro_helper/rmt/scp.rb +117 -0
  25. data/lib/ro_helper/rmt/se_attrs.rb +28 -0
  26. data/lib/ro_rmt.rb +9 -0
  27. data/lib/ro_rmt_ro_cmds_bin.rb +4 -0
  28. data/lib/ro_rspec_helper/rmt_rspec_helper.rb +82 -0
  29. data/lib/ro_script/kill_port.rb +49 -0
  30. data/lib/ro_script/pgrep.rb +44 -0
  31. data/lib/ro_script/pkill.rb +51 -0
  32. data/lib/ro_script/try.rb +0 -0
  33. data/lib/tts/nginx.conf.erb +148 -0
  34. data/spec/fixtures/ro_bin_helper/Gemfile +2 -0
  35. data/spec/fixtures/ro_bin_helper/gem1/lib/ro_cmd/cmd1.rb +0 -0
  36. data/spec/fixtures/ro_bin_helper/gem1/lib/ro_cmd/cmd2.rb +0 -0
  37. data/spec/fixtures/ro_bin_helper/gem2/lib/ro_cmd/cmd1.rb +0 -0
  38. data/spec/fixtures/ro_bin_helper/gem2/lib/ro_cmd/cmd2.rb +0 -0
  39. data/spec/fixtures/scp/log/scp_rspec_err.log +216 -0
  40. data/spec/fixtures/scp/tmp/ro.log +110 -0
  41. data/spec/fixtures/scp/tmp/ro_cell__pl__sv__st_event.log +7 -0
  42. data/spec/fixtures/scp/tmp/roroco/at/localhost/home/roroco/try/try_ro_rmt.rb +1 -0
  43. data/spec/fixtures/se_mgr/log/se_mgr_rspec_err.log +207 -0
  44. data/spec/fixtures/se_mgr/tmp/ro.log +1194 -0
  45. data/spec/fixtures/se_mgr/tmp/ro_cell__pl__sv__st_event.log +7 -0
  46. data/spec/helpers/articles_helper_spec.rb +15 -0
  47. data/spec/lib/ro_cell/rmt/dir_spec.rb +22 -0
  48. data/spec/lib/ro_cell/rmt/file_spec.rb +32 -0
  49. data/spec/lib/ro_cell/rmt/se_mgr_spec.rb +33 -0
  50. data/spec/lib/ro_cell/rmt_spec.rb +113 -0
  51. data/spec/lib/ro_dp/cap_spec.rb +34 -0
  52. data/spec/lib/ro_dp/rbenv_spec.rb +10 -0
  53. data/spec/lib/ro_dp/system_spec.rb +31 -0
  54. data/spec/lib/ro_helper/rmt/basic_spec.rb +41 -0
  55. data/spec/lib/ro_helper/rmt/cf_spec.rb +17 -0
  56. data/spec/lib/ro_helper/rmt/determinations_spec.rb +11 -0
  57. data/spec/lib/ro_helper/rmt/dir_spec.rb +15 -0
  58. data/spec/lib/ro_helper/rmt/file_dir_helper_spec.rb +11 -0
  59. data/spec/lib/ro_helper/rmt/file_spec.rb +23 -0
  60. data/spec/lib/ro_helper/rmt/process_spec.rb +29 -0
  61. data/spec/lib/ro_helper/rmt/rb_spec.rb +13 -0
  62. data/spec/lib/ro_helper/rmt/scp_spec.rb +21 -0
  63. data/spec/lib/ro_script/pgrep_spec.rb +18 -0
  64. data/spec/lib/ro_sv_try/1.rb +0 -0
  65. data/spec/lib/ro_sv_try/2.rb +0 -0
  66. data/spec/lib/ro_sv_try/3.rb +0 -0
  67. data/spec/lib/ro_sv_try/tmp/rspec_guard_result +9 -0
  68. data/spec/rails_helper.rb +1 -0
  69. data/spec/spec_helper.rb +35 -0
  70. data/spec/wio_spork.rb +10 -0
  71. metadata +177 -0
@@ -0,0 +1,55 @@
1
+ require File.expand_path("../../../../conf/ro_rmt", __FILE__)
2
+ require_relative 'file'
3
+ require 'out'
4
+
5
+ module RoCell
6
+ class Rmt
7
+ class Dir < File
8
+ def type(*args, &blk)
9
+ "dir"
10
+ end
11
+
12
+ def create(*args, &blk)
13
+ eval <<-CONTENT
14
+ unless test(?d, '#{path}')
15
+ system 'mkdir -p #{path}'
16
+ end
17
+ CONTENT
18
+ end
19
+
20
+ def files(*args, &blk)
21
+ file_paths = eval "Dir['#{path}/**']"
22
+ fs = file_paths.map do |file_path|
23
+ ::RoCell::Rmt::File.new(file_path)
24
+ end
25
+ fs
26
+ end
27
+
28
+ def exist?(*args, &blk)
29
+ eval <<-CONTENT
30
+
31
+ test(?d, '#{path}')
32
+ CONTENT
33
+ end
34
+
35
+
36
+ def rm(*args, &blk)
37
+ args, opts = args.ro_opts
38
+ if opts[:force]
39
+ eval "FileUtils.rm_rf '#{path}'"
40
+ else
41
+ eval <<-CONTENT
42
+ if test(?d, '#{path}')
43
+ FileUtils.rm_r '#{path}'
44
+ end
45
+ CONTENT
46
+ end
47
+ end
48
+
49
+ def ls(*args, &blk)
50
+ files = eval "Dir[File.join('#{path}','**')]"
51
+ Out.out files
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,96 @@
1
+ require File.expand_path("../../../../conf/ro_rmt", __FILE__)
2
+ require 'ro_helper/misc'
3
+ require 'ro_helper/rmt/basic'
4
+ require 'ro_core_ext/array'
5
+ require 'ro_core_ext/kernel'
6
+ require 'ro_file'
7
+ require 'ro_helper/rmt/se_attrs'
8
+ require 'ro_file'
9
+
10
+ module RoCell
11
+ class Rmt
12
+ class File
13
+ attr_accessor :path
14
+
15
+ include ::RoHelper::Rmt::Basic
16
+
17
+ def initialize(*args, &blk)
18
+ args, opts = args.ro_opts
19
+ @se = opts[:se] || se_mgr.cur_se
20
+ path = RoFile.join *args, &blk
21
+ @path = format_path(path)
22
+ end
23
+
24
+ def append(ctn, *args, &blk)
25
+ tmply_down(path) do |to_local_tmp_path|
26
+ RoFile.append(to_local_tmp_path, ctn)
27
+ end
28
+ end
29
+
30
+ def create(*args, &blk)
31
+ up lc_tmp, path
32
+ end
33
+
34
+ def lc_tmp(*args, &blk)
35
+ super(path)
36
+ end
37
+
38
+ def cp(to, *args, &blk)
39
+ pd = RoFile.parent(to)
40
+ bash "mkdir -p #{pd}; cp -r #{path} #{to}"
41
+ end
42
+
43
+ def rm(*args, &blk)
44
+ args, opts = args.ro_opts
45
+ if opts[:force]
46
+ eval "FileUtils.rm_f '#{path}'"
47
+ else
48
+ eval "FileUtils.rm '#{path}'"
49
+ end
50
+ end
51
+
52
+ def read(*args, &blk)
53
+ if exist?(path)
54
+ RoFile.read down_to_tmp(path)
55
+ else
56
+ raise ::RoErr::NotExist, "#{user_at_host}:#{path} is not exist"
57
+ end
58
+ end
59
+
60
+ def type(*args, &blk)
61
+ "file"
62
+ end
63
+
64
+ def exist?(*args, &blk)
65
+ eval "test(?f, '#{path}')"
66
+ end
67
+
68
+ def write(ctn=nil, *args, &blk)
69
+ ctn ||= ''
70
+ RoFile.write(lc_tmp, ctn)
71
+ up lc_tmp, path
72
+ end
73
+
74
+ def blank?
75
+ read.blank?
76
+ end
77
+
78
+ def has_ctn?(*args, &blk)
79
+ if args.empty?
80
+ !blank?
81
+ else
82
+ read.match(*args, &blk)
83
+ end
84
+ end
85
+
86
+ def replace(from, to, *args, &blk)
87
+ ctn = read(path).gsub(from, to)
88
+ write(ctn)
89
+ end
90
+
91
+ def size?
92
+ !blank?
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,21 @@
1
+ require 'ro_helper/misc'
2
+ module RoCell
3
+ class Rmt
4
+ class Opts
5
+ class << self
6
+ include ::RoHelper::Misc
7
+
8
+ def shutup
9
+ @shutup ||= nil
10
+ end
11
+
12
+ attr_writer :ignore_err
13
+
14
+ def ignore_err
15
+ @ignore_err ||= nil
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,51 @@
1
+ require File.expand_path("../../../../conf/ro_rmt", __FILE__)
2
+ require 'ro_core_ext/array'
3
+ require 'ro_cell/abstract_coll_mgr'
4
+ module RoCell
5
+ class Rmt
6
+ class SeMgr < AbstractCollMgr
7
+ class << self
8
+ def register(se, *args, &blk)
9
+ se_coll.add(se, *args, &blk)
10
+ @cur_se = se
11
+ end
12
+
13
+ def se_coll
14
+ @all_se ||= openstructs do |_all_se|
15
+ _all_se.ro_uniq do |se, another_se|
16
+ [:user_at_host, :inited_at].all? do |meth_name|
17
+ se.send(:"#{meth_name}") == another_se.send(:"#{meth_name}")
18
+ end
19
+ end
20
+ _all_se.hits
21
+ end
22
+ end
23
+
24
+ def clear(*args, &blk)
25
+ se_coll.each do |se|
26
+ unless se.closed?
27
+ se.close
28
+ end
29
+ end
30
+
31
+ se_coll.clear
32
+ end
33
+
34
+ def registered?(_user_at_host, *args, &blk)
35
+ se_coll.include?(_user_at_host)
36
+ end
37
+
38
+ def se(*args, &blk)
39
+ r = se_coll.get(*args, &blk).first.val
40
+ r
41
+ end
42
+
43
+ def cur_se
44
+ @cur_se ||= lambda do
45
+ raise ::RoErr::NotSet, "#{self}.#{__method__} is not set, please use `RoCell::Rmt.new('username@hostname')` at least once"
46
+ end.call
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,49 @@
1
+ 2014-07-09 12:09:59 - 12:09:59: Requiring  helper in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb
2
+ 2014-07-09 12:09:59 - 12:09:59: Requiring  ins_vars in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb
3
+ 2014-07-09 12:09:59 - 12:09:59: Requiring  help in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb
4
+ 2014-07-09 12:22:42 - 12:22:42: Requiring  helper in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb
5
+ 2014-07-09 12:22:42 - 12:22:42: Requiring  ins_vars in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb
6
+ 2014-07-09 12:22:42 - 12:22:42: Requiring  help in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb
7
+ 2014-07-09 12:22:47 - 12:22:47: Requiring  helper in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb
8
+ 2014-07-09 12:22:47 - 12:22:47: Requiring  ins_vars in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb
9
+ 2014-07-09 12:22:47 - 12:22:47: Requiring  help in /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb
10
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb file:require_autoload_helper.rb line:61
11
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb file:require_autoload_helper.rb line:61
12
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/path_helper.rb file:require_autoload_helper.rb line:61
13
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb file:require_autoload_helper.rb line:61
14
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/status.rb file:require_autoload_helper.rb line:61
15
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/process.rb file:require_autoload_helper.rb line:61
16
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/config.rb file:require_autoload_helper.rb line:61
17
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/basic.rb file:require_autoload_helper.rb line:61
18
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
19
+ 2014-07-26 21:51:00 - 21:51:00: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
20
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb file:require_autoload_helper.rb line:61
21
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb file:require_autoload_helper.rb line:61
22
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/path_helper.rb file:require_autoload_helper.rb line:61
23
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb file:require_autoload_helper.rb line:61
24
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/status.rb file:require_autoload_helper.rb line:61
25
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/process.rb file:require_autoload_helper.rb line:61
26
+ 2014-07-26 21:51:04 - 21:51:04: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/config.rb file:require_autoload_helper.rb line:61
27
+ 2014-07-26 21:51:05 - 21:51:05: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/basic.rb file:require_autoload_helper.rb line:61
28
+ 2014-07-26 21:51:05 - 21:51:05: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
29
+ 2014-07-26 21:51:05 - 21:51:05: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
30
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb file:require_autoload_helper.rb line:61
31
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb file:require_autoload_helper.rb line:61
32
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/path_helper.rb file:require_autoload_helper.rb line:61
33
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb file:require_autoload_helper.rb line:61
34
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/status.rb file:require_autoload_helper.rb line:61
35
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/process.rb file:require_autoload_helper.rb line:61
36
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/config.rb file:require_autoload_helper.rb line:61
37
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/basic.rb file:require_autoload_helper.rb line:61
38
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
39
+ 2014-07-26 21:52:18 - 21:52:18: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
40
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/helper.rb file:require_autoload_helper.rb line:61
41
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/ins_vars.rb file:require_autoload_helper.rb line:61
42
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/path_helper.rb file:require_autoload_helper.rb line:61
43
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/ins_helper/help.rb file:require_autoload_helper.rb line:61
44
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/status.rb file:require_autoload_helper.rb line:61
45
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_commands/lib/ro_helpers/bash_helper/process.rb file:require_autoload_helper.rb line:61
46
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/config.rb file:require_autoload_helper.rb line:61
47
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/basic.rb file:require_autoload_helper.rb line:61
48
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
49
+ 2014-07-26 21:53:27 - 21:53:27: Require  /home/roroco/Dropbox/ruby-projects/ro_deploy/lib/ro_helpers/remote/file.rb file:require_autoload_helper.rb line:61
@@ -0,0 +1,32 @@
1
+ require 'rake'
2
+
3
+ module ::RoCmd
4
+ class Ci < RmtBase
5
+ usg 'run'
6
+
7
+ def before_script(*args, &blk)
8
+ i "db:create"
9
+ end
10
+
11
+ def invoke(*args, &blk)
12
+ app.invoke *args, &blk
13
+ end
14
+
15
+ alias_method :i, :invoke
16
+
17
+ def rake(*args, &blk)
18
+ i(*args, &blk)
19
+ end
20
+
21
+ alias_method :rk, :rake
22
+
23
+ def app
24
+ @app ||= lambda do
25
+ app = ::Rake.application
26
+ app.init
27
+ app.load_rakefile
28
+ app
29
+ end.call
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,132 @@
1
+ require File.expand_path('../../../conf/ro_rmt', __FILE__)
2
+ require 'ro_cell/rmt'
3
+
4
+
5
+ module RoRmt
6
+ # require_all_capistrano
7
+ autoload_all "ro_cell"
8
+ end
9
+
10
+ require 'ro_file'
11
+ require 'ro_core_exts'
12
+ require 'ro_cmd/base'
13
+
14
+ module ::RoCmd
15
+ module DpBaseHelper
16
+ class << self
17
+ include ::RoHelper::Misc
18
+
19
+ def meths
20
+ def_arr :meths
21
+ end
22
+ end
23
+
24
+ unless meths.include?('before_meth')
25
+ meths << 'before_meth'
26
+ end
27
+ end
28
+
29
+ class RmtBase < Base
30
+
31
+ class << self
32
+
33
+ def ignored_meth?(meth)
34
+ meth_name = meth.to_s
35
+ meth_name.match(%r{before_meth|after_meth|new|origin}) or ro_dp_meths.include? meth_name or private_method_defined? meth or
36
+ protected_method_defined? meth
37
+ end
38
+
39
+ # def method_added(meth)
40
+ # super if defined? super
41
+ #
42
+ # meth_name = meth.to_s
43
+ # new_meth_name = "new_#{meth_name}"
44
+ #
45
+ # if RoDeployBaseHelper.meths.include?(meth_name)
46
+ # return
47
+ # end
48
+ #
49
+ # RoDeployBaseHelper.meths << meth_name
50
+ # RoDeployBaseHelper.meths << new_meth_name
51
+ # # unless is_ignored_meth?(meth_name)
52
+ # # ro_deploy_meths << meth_name
53
+ #
54
+ #
55
+ # # define_private_method(origin_meth) do |*args|
56
+ # # send(meth, *args, &blk)
57
+ # # end
58
+ #
59
+ # ub_meth = instance_method(:"#{meth_name}")
60
+ #
61
+ # define_method(:"#{new_meth_name}") do |*args, &blk|
62
+ # before_meth
63
+ # # Out.status("Running", "#{self}.#{meth_name}")
64
+ # ub_meth.bind(self).call(*args, &blk)
65
+ # # send(origin_meth, *args, &blk)
66
+ # # after_meth
67
+ # end
68
+ #
69
+ # # alias_method origin_meth, meth
70
+ # alias_method meth_name, new_meth_name
71
+ # end
72
+ end
73
+
74
+ def ro_dp_meths
75
+ def_arr :ro_dp_meths
76
+ end
77
+
78
+ protected
79
+
80
+ def unicorn_st
81
+ "cd #{::RoRmt.rmt_rt} && sudo rm -f tmp/pids/unicorn.pid && bundle exec unicorn_rails -E production -d -c #{::RoRmt.rmt_r}/conf/unicorn.rb -D"
82
+ end
83
+
84
+ def unicorn_stop
85
+ "pkill -9 -f \"#{::RoRmt.rmt_rt}/conf/unicorn.rb -D\""
86
+ end
87
+
88
+ def before_meth
89
+ r = record("ro_deploy_stage") || ro_opts[:stage]
90
+ if r == 'production'
91
+ ::RoRmt.cur_role = ::RoRmt.rmt_role
92
+ end
93
+ end
94
+
95
+ def after_meth
96
+
97
+ end
98
+
99
+ def tt(from_file, to_file=nil)
100
+ from = File.expand_path(File.join(Dir.pwd, "conf/tts/#{from_file}"), __FILE__)
101
+ from = from.suffix(".erb")
102
+
103
+ unless File.exist?(from)
104
+ raise "please add #{from}"
105
+ end
106
+
107
+ ctn = ::RoFile.read(from)
108
+ result = ERB.new(ctn).result(binding)
109
+ to_file ||= lambda do
110
+ basename = File.basename(from).gsub(%r{\.erb$}, "")
111
+ end.call
112
+
113
+ ::RoFile.write(to_file, result)
114
+ to_file
115
+ end
116
+
117
+ def ro_dp_gem_rt
118
+ @ro_deploy_gem_rt ||= File.expand_path("../../..", __FILE__)
119
+ end
120
+
121
+ def rmt
122
+ @rmt ||= ::RoCell::Rmt.new("root@localhost")
123
+ end
124
+
125
+ def flow(&blk)
126
+ if block_given?
127
+ rmt.flow &blk
128
+ end
129
+ end
130
+
131
+ end
132
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path("../../../conf/ro_rmt", __FILE__)
2
+ require 'ro_cmd/abstract_rspec'
3
+
4
+ module RoCmd
5
+ class RmtRspec < AbstractRspec
6
+ def cf(*args, &blk)
7
+
8
+ end
9
+
10
+ def order_rules(*args, &blk)
11
+ [
12
+ %r{.*}
13
+ ]
14
+ end
15
+
16
+ def ignoring_rules(*args, &blk)
17
+ [
18
+ ]
19
+ end
20
+
21
+ def selection_rules(*args, &blk)
22
+ [
23
+ ]
24
+ end
25
+ end
26
+ end