module Frill
Public Class Methods
decorate(object, context, options={})
click to toggle source
# File lib/frill/frill.rb, line 19 def self.decorate object, context, options={} frills = decorators if subset = options[:with] frills.select! {|d| subset.include? d} end frills.each do |f| object.extend f if f.frill? object, context end object end
decorators()
click to toggle source
# File lib/frill/frill.rb, line 9 def self.decorators @decorators ||= dependency_graph.to_a @decorators.dup end
dependency_graph()
click to toggle source
# File lib/frill/frill.rb, line 33 def self.dependency_graph @dependency_graph ||= DependencyGraph.new end
included(base)
click to toggle source
# File lib/frill/frill.rb, line 4 def self.included base self.dependency_graph.add base base.extend ClassMethods end
reset!()
click to toggle source
# File lib/frill/frill.rb, line 14 def self.reset! @decorators = nil @dependency_graph = nil end