Module: BrowserifyRuby
- Defined in:
- lib/browserify_ruby.rb,
lib/browserify_ruby/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
- .browserify(data = browserify_manifest) ⇒ Object
- .browserify_manifest ⇒ Object
- .clean_bundles ⇒ Object
- .init ⇒ Object
- .list_bundles ⇒ Object
- .match_and_load(browserify_or_watchify, names) ⇒ Object
- .purge ⇒ Object
- .watchify(data = browserify_manifest) ⇒ Object
Class Method Details
.browserify(data = browserify_manifest) ⇒ Object
29 30 31 32 33 |
# File 'lib/browserify_ruby.rb', line 29 def browserify(data = browserify_manifest) data["manifest"].each do |manifest| %x(browserify #{data["source_directory"]}/#{manifest["source"]} -o #{data["bundle_directory"]}/#{manifest["bundle"]}) end end |
.browserify_manifest ⇒ Object
62 63 64 |
# File 'lib/browserify_ruby.rb', line 62 def browserify_manifest JSON.parse(File.read('.browserify_ruby.json')) end |
.clean_bundles ⇒ Object
46 47 48 49 |
# File 'lib/browserify_ruby.rb', line 46 def clean_bundles data = browserify_manifest Dir.glob("#{data["bundle_directory"]}/*.js").each { |f| File.delete(f) } end |
.init ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/browserify_ruby.rb', line 6 def init config = basic_config FileUtils.mkdir_p config[:source_directory] unless File.exists? config[:source_directory] FileUtils.mkdir_p config[:bundle_directory] unless File.exists? config[:bundle_directory] File.open("#{config[:source_directory]}/hello.js", 'w') do |f| f.puts('var hello = function(string) { return string.toUpperCase(); }') f.puts('module.exports = hello;') end File.open("#{config[:source_directory]}/app.js", 'w') do |f| f.puts('var hello = require("./hello");') f.puts('var app = function() { console.log(hello("now using browserify!")); }') f.puts('module.exports = app();') end File.write('./.browserify_ruby.json', JSON.pretty_generate(config)) end |
.list_bundles ⇒ Object
66 67 68 69 70 71 72 73 74 |
# File 'lib/browserify_ruby.rb', line 66 def list_bundles config = browserify_manifest bundles = Dir.glob("#{config['bundle_directory']}/**") if bundles.empty? puts 'Bundle directory is empty' else puts bundles end end |
.match_and_load(browserify_or_watchify, names) ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/browserify_ruby.rb', line 51 def match_and_load(browserify_or_watchify, names) case browserify_or_watchify when :browserify browserify(match(names)) when :watchify watchify(match(names)) else puts "Invalid method call: #{browserify_or_watchify}" end end |
.purge ⇒ Object
22 23 24 25 26 27 |
# File 'lib/browserify_ruby.rb', line 22 def purge config = browserify_manifest FileUtils.remove_dir(config["source_directory"]) if File.exists? config["source_directory"] FileUtils.remove_dir(config["bundle_directory"]) if File.exists? config["bundle_directory"] FileUtils.rm("./.browserify_ruby.json") if File.exists? "./.browserify_ruby.json" end |
.watchify(data = browserify_manifest) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/browserify_ruby.rb', line 35 def watchify(data = browserify_manifest) threads = [] data["manifest"].each do |manifest| thr = Thread.new do %x(watchify #{data["source_directory"]}/#{manifest["source"]} -o #{data["bundle_directory"]}/#{manifest["bundle"]} -dv) end threads.push(thr) end run_threads(threads) end |