class BrwyRails::Runner
Attributes
config[RW]
Public Class Methods
new(config)
click to toggle source
# File lib/brwy_rails/runner.rb, line 5 def initialize(config) @config = config end
Public Instance Methods
run()
click to toggle source
# File lib/brwy_rails/runner.rb, line 9 def run if watching? pids = @config.targets.map {|target| run_with_watchify(target) } at_exit do pids.each {|pid| Process.exit(pid)} end else @config.targets.map {|target| run_with_browserify(target) } end end
Private Instance Methods
browserify_cmd(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 43 def browserify_cmd(target) "node_modules/.bin/browserify #{cmd target}" end
cmd(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 51 def cmd(target) "#{@config.browserify_opts} -o #{output_path(target)} #{src_path(target)}" end
ensure_output_dir!()
click to toggle source
TODO: Add ensure_target_dir!(target) later
# File lib/brwy_rails/runner.rb, line 71 def ensure_output_dir! FileUtils.mkdir_p(output_dir) unless FileTest.exist?(output_dir) end
output_dir()
click to toggle source
# File lib/brwy_rails/runner.rb, line 55 def output_dir Rails.root.join(@config.tmpdir) end
output_path(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 59 def output_path(target) # TODO: Consider nested dir # Use relative path later fpath = output_dir.join(File.basename target) fpath.sub File.extname(fpath), (@config.target_suffix + ".js") end
polling?()
click to toggle source
# File lib/brwy_rails/runner.rb, line 29 def polling? @config.poll end
run_with_browserify(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 38 def run_with_browserify(target) ensure_output_dir! system browserify_cmd(target), chdir: Rails.root end
run_with_watchify(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 33 def run_with_watchify(target) ensure_output_dir! spawn watchify_cmd(target), chdir: Rails.root end
src_path(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 66 def src_path(target) Rails.root.join(target) end
verbose?()
click to toggle source
# File lib/brwy_rails/runner.rb, line 75 def verbose? @config.verbose end
watchify_cmd(target)
click to toggle source
# File lib/brwy_rails/runner.rb, line 47 def watchify_cmd(target) "node_modules/.bin/watchify #{cmd target} #{verbose? ? "-v" : ""} #{polling? ? "--poll=#{@config.polling_interval}" : ""}" end
watching?()
click to toggle source
# File lib/brwy_rails/runner.rb, line 25 def watching? @config.watch end