class RailsLineman::Asset
Public Class Methods
new(config, descriptor)
click to toggle source
# File lib/rails_lineman/asset.rb, line 3 def initialize(config, descriptor) @descriptor = descriptor.strip @source = File.join(config.lineman_project_location, "dist", descriptor, ".") @destination = determine_destination(config.lineman_project_namespace) end
Public Instance Methods
add_if_precompilable()
click to toggle source
# File lib/rails_lineman/asset.rb, line 15 def add_if_precompilable return unless is_precompilable? Rails.application.config.assets.precompile += Dir.glob("#{@destination}/**/*.#{@descriptor}") end
copy()
click to toggle source
# File lib/rails_lineman/asset.rb, line 20 def copy FileUtils.cp_r(@source, @destination) end
delete()
click to toggle source
# File lib/rails_lineman/asset.rb, line 24 def delete FileUtils.rm_rf(@destination) end
ensure_directories()
click to toggle source
# File lib/rails_lineman/asset.rb, line 9 def ensure_directories [@source, @destination].each do |path| FileUtils.mkdir_p(path) end end
Private Instance Methods
determine_destination(namespace)
click to toggle source
# File lib/rails_lineman/asset.rb, line 30 def determine_destination(namespace) if is_precompilable? Rails.root.join(File.join(*["tmp", "rails_lineman", "lineman", namespace].compact)) else Rails.root.join(File.join(*["public", "assets", namespace, @descriptor].compact)) end end
is_precompilable?()
click to toggle source
# File lib/rails_lineman/asset.rb, line 38 def is_precompilable? ["js", "css"].include?(@descriptor) end