module Cosme

Constants

VERSION

Public Class Methods

all() click to toggle source
# File lib/cosme.rb, line 27
def all
  return [] unless @cosmetics
  @cosmetics.values
end
all_for(controller) click to toggle source
# File lib/cosme.rb, line 32
def all_for(controller)
  return all if controller.blank?

  all.select do |cosmetic|
    routes_match?(controller, cosmetic[:routes])
  end
end
auto_cosmeticize?() click to toggle source
# File lib/cosme.rb, line 44
def auto_cosmeticize?
  @disable_auto_cosmeticize ? false : true
end
default_file_path_for(caller_path) click to toggle source
# File lib/cosme.rb, line 23
def default_file_path_for(caller_path)
  File.join(File.dirname(caller_path), File.basename(caller_path, '.*'))
end
define(cosmetic) click to toggle source
# File lib/cosme.rb, line 12
def define(cosmetic)
  caller_path = caller_locations(1, 1)[0].path

  cosmetic[:render] = { file: default_file_path_for(caller_path) } unless cosmetic[:render]

  @cosmetics ||= {}
  @cosmetics[caller_path] = cosmetic

  Cosme::Cosmetic.new(cosmetic)
end
disable_auto_cosmeticize!() click to toggle source
# File lib/cosme.rb, line 40
def disable_auto_cosmeticize!
  @disable_auto_cosmeticize = true
end

Private Class Methods

routes_match?(controller, routes) click to toggle source
# File lib/cosme.rb, line 50
def routes_match?(controller, routes)
  return true unless routes
  return false unless routes_match_action?(controller, routes)
  return false unless routes_match_controller?(controller, routes)
  true
end
routes_match_action?(controller, routes) click to toggle source
# File lib/cosme.rb, line 57
def routes_match_action?(controller, routes)
  return true unless routes[:action]
  if routes[:action].is_a? Array
    routes[:action].map(&:to_s).include? controller.action_name
  else
    controller.action_name == routes[:action].to_s
  end
end
routes_match_controller?(controller, routes) click to toggle source
# File lib/cosme.rb, line 66
def routes_match_controller?(controller, routes)
  return true unless routes[:controller]
  if routes[:controller].is_a? Array
    routes[:controller].map(&:to_s).include? controller.controller_path
  else
    controller.controller_path == routes[:controller].to_s
  end
end