class RailsControllerAssets::Precompiler

Public Instance Methods

arity() click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 8
def arity
  2
end
call(asset, filename) click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 3
def call(asset, filename)
  return false unless filename =~ %r{/app/assets}
  include?(asset)
end

Protected Instance Methods

action_asset?(asset) click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 37
def action_asset?(asset)
  controller_actions.any? { |action| asset.include?(action) }
end
controller_actions() click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 18
def controller_actions
  @controller_actions ||= find_controller_actions
end
controller_asset?(asset) click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 33
def controller_asset?(asset)
  controller_paths.any? { |path| asset.include?(path) }
end
controller_paths() click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 14
def controller_paths
  @controller_paths ||= find_controller_paths
end
controllers() click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 41
def controllers
  @eager_load  ||= Rails.application.eager_load!
  @controllers ||= ::ActionController::Base.descendants
end
find_controller_actions() click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 46
def find_controller_actions
  controllers.map do |controller|
    controller.action_methods.map do |action|
      "#{controller.controller_path}_#{action}"
    end
  end.flatten
end
find_controller_paths() click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 54
def find_controller_paths
  controllers.map do |controller|
    controller.controller_path
  end
end
include?(asset) click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 22
def include?(asset)
  return false unless asset =~ /\.(css|js)\z/
  return false if partial?(asset)

  controller_asset?(asset) || action_asset?(asset)
end
partial?(asset) click to toggle source
# File lib/rails_controller_assets/precompiler.rb, line 29
def partial?(asset)
  asset.split('/').last.start_with?('_')
end