Sha256: 9e3b6be049f1f7cbf43fe533563a40163b8660335e55721c4fa538b766109886

Contents?: true

Size: 825 Bytes

Versions: 2

Compression:

Stored size: 825 Bytes

Contents

module CanTango
  class Config
    class Autoload
      include Singleton

      def clear!
        @models = :on
        @permits = :on
      end

      [:models, :permits].each do |name|
        # def permission state = nil
        #   raise ArgumentError unless [:on, :off].include? state
        #   @permission = state
        # end
        class_eval %{
          def #{name} state = nil
            return #{name}? if !state
            raise ArgumentError, "Must be :on or :off" unless [:on, :off].include? state
            @#{name} = state
          end
        }
         # def permits?
        #   @permits ||= :on
        #   @permits == :on
        # end
        class_eval %{
          def #{name}?
            @#{name} ||= :on
            @#{name} == :on
          end
        }
      end
    end
  end
end


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cantango-config-0.2.1 lib/cantango/config/autoload.rb
cantango-config-0.2.0 lib/cantango/config/autoload.rb