Sha256: e7b3ea086baa1ea3bf88e594312c9c14a9c745b1405a0dac049485ff42aa0c1e
Contents?: true
Size: 669 Bytes
Versions: 53
Compression:
Stored size: 669 Bytes
Contents
module Temple module Mixins # @api public module DefaultOptions def set_default_options(options) default_options.update(options) end def default_options @default_options ||= MutableHash.new(superclass.respond_to?(:default_options) ? superclass.default_options : nil) end end # @api public module Options def self.included(base) base.class_eval { extend DefaultOptions } end attr_reader :options def initialize(options = {}) @options = ImmutableHash.new(options, self.class.default_options) end end end end
Version data entries
53 entries across 53 versions & 2 rubygems