module Cardio::ScriptLoader::ClassMethods
modularize for reusing in decko
Constants
- RUBY
Attributes
script_name[RW]
Public Instance Methods
continue?()
click to toggle source
# File lib/cardio/script_loader.rb, line 39 def continue? in_application? || in_application_subdirectory? end
exec!()
click to toggle source
# File lib/cardio/script_loader.rb, line 17 def exec! cwd = Dir.pwd return unless continue? exec_script recurse cwd rescue SystemCallError # could not chdir, no problem just return end
exec_script()
click to toggle source
# File lib/cardio/script_loader.rb, line 35 def exec_script exec RUBY, script, *ARGV if in_application? end
in_application?()
click to toggle source
# File lib/cardio/script_loader.rb, line 43 def in_application? File.exist?(script) end
in_application_subdirectory?(path=Pathname.new(Dir.pwd))
click to toggle source
# File lib/cardio/script_loader.rb, line 47 def in_application_subdirectory? path=Pathname.new(Dir.pwd) File.exist?(File.join(path, script)) || !path.root? && in_application_subdirectory?(path.parent) end
recurse(cwd)
click to toggle source
# File lib/cardio/script_loader.rb, line 27 def recurse cwd Dir.chdir("..") do # Recurse in a chdir block: if the search fails we want to be sure # the application is generated in the original working directory. exec! unless cwd == Dir.pwd end end
script()
click to toggle source
# File lib/cardio/script_loader.rb, line 13 def script File.join "script", script_name end