module Scorched

Constants

Match
TemplateCache
VERSION

Public Class Methods

Collection(accessor_name, append_parent = false) click to toggle source
# File lib/scorched/collection.rb, line 41
    def Collection(accessor_name, append_parent = false)
      m = Module.new
      m.class_eval <<-MOD
        class << self
          def included(klass)
            klass.extend(ClassMethods)
          end
        end

        module ClassMethods
          def #{accessor_name}
            @#{accessor_name} || begin
              parent = superclass.#{accessor_name} if superclass.respond_to?(:#{accessor_name}) && Scorched::Collection === superclass.#{accessor_name}
              @#{accessor_name} = Collection.new.parent!(parent)
              @#{accessor_name}.append_parent = #{append_parent.inspect}
              @#{accessor_name}
            end
          end
        end

        def #{accessor_name}(*args)
          self.class.#{accessor_name}(*args)
        end
      MOD
      m
    end
Options(accessor_name) click to toggle source
# File lib/scorched/options.rb, line 42
    def Options(accessor_name)
      m = Module.new
      m.class_eval <<-MOD
        class << self
          def included(klass)
            klass.extend(ClassMethods)
          end
        end

        module ClassMethods
          def #{accessor_name}
            @#{accessor_name} || begin
              parent = superclass.#{accessor_name} if superclass.respond_to?(:#{accessor_name}) && Scorched::Options === superclass.#{accessor_name}
              @#{accessor_name} = Options.new.parent!(parent)
            end
          end
        end

        def #{accessor_name}(*args)
          self.class.#{accessor_name}(*args)
        end
      MOD
      m
    end