Sha256: 9a6a2c25f6aef38ffb4baec853cc474902a1622096475b88383334996d5157c7

Contents?: true

Size: 517 Bytes

Versions: 1

Compression:

Stored size: 517 Bytes

Contents

# When included, this module allows another module to be called setting a default preset
#
# Examples:
# Maestrano::Settings.new               # Uses 'default' preset
# Maestrano['mypreset']::Settings.new   # Uses 'mypreset'
module Maestrano
  module Preset
    def self.included(base)
      base.extend ClassMethods
    end

    module ClassMethods
      def [](preset)
        define_singleton_method(:preset) { preset }        
        self
      end

      def preset
        'default'
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
maestrano-0.12.0 lib/maestrano/preset.rb