Sha256: af714dc8e9bd6ab80d44d65eb63a82aaa138551706d565283f36ed64f76866b7

Contents?: true

Size: 515 Bytes

Versions: 9

Compression:

Stored size: 515 Bytes

Contents

module Vedeu

  # An internal class for Vedeu to provide a consistent interface to
  # options used by many classes.
  #
  class Options

    # @param options [Hash]
    # @param defaults [Hash]
    def initialize(options = {}, defaults = {})
      @options  = options  || {}
      @defaults = defaults || {}

      @defaults.merge!(@options).each do |key, value|
        instance_variable_set("@#{key}", value)
        self.class.send(:define_method, key) { value }
      end
    end

  end # Options

end # Vedeu

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
vedeu-0.6.15 lib/vedeu/options.rb
vedeu-0.6.14 lib/vedeu/options.rb
vedeu-0.6.13 lib/vedeu/options.rb
vedeu-0.6.12 lib/vedeu/options.rb
vedeu-0.6.11 lib/vedeu/options.rb
vedeu-0.6.10 lib/vedeu/options.rb
vedeu-0.6.9 lib/vedeu/options.rb
vedeu-0.6.8 lib/vedeu/options.rb
vedeu-0.6.7 lib/vedeu/options.rb