module Js::Packer::Rails::ViewHelpers

Public Instance Methods

js_bundle_hash(source) click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 13
def js_bundle_hash(source)
  bundle_name = js_bundle_name(source)
  bundle_name.gsub("#{source}-", '').gsub('.js', '')
end
js_bundle_name(source) click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 18
def js_bundle_name(source)
  manifest_file = File.read(manifest_path(source))
  manifest = JSON.parse(manifest_file)
  manifest[source + '.js']
end
js_bundle_path(source) click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 24
def js_bundle_path(source)
  bundle_name = js_bundle_name(source)
  "/#{config_bundle_path}/#{bundle_name}"
end
js_bundle_tag(*sources) click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 7
def js_bundle_tag(*sources)
  sources.uniq.map do |source|
    content_tag :script, '', src: "#{js_bundle_path(source)}"
  end.join("\n").html_safe
end

Private Instance Methods

config() click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 40
def config
  YAML.load_file("#{::Rails.root}/config/packer.yml")[::Rails.env]
end
config?() click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 36
def config?
  File.exist?("#{::Rails.root}/config/packer.yml")
end
config_bundle_path() click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 48
def config_bundle_path
  config? ? config['bundle_path'] : 'bundles/javascripts'
end
config_manifest_path() click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 44
def config_manifest_path
  config? ? config['manifest_path'] : 'public/bundles/javascripts'
end
manifest_path(source) click to toggle source
# File lib/js/packer/rails/view_helpers.rb, line 31
def manifest_path(source)
  "#{::Rails.root}/#{config_manifest_path}/#{source}.json"
end