Sha256: db663725b728b75700b5b4daefb16428aed4fca977242034a88b10cfef8b20b9

Contents?: true

Size: 698 Bytes

Versions: 14

Compression:

Stored size: 698 Bytes

Contents

  module Dryml

    class NoParameterError < RuntimeError; end

    class TagParameters < Hash

      def initialize(parameters, exclude_names=nil)
        if exclude_names.blank?
          update(parameters)
        else
          parameters.each_pair { |k, v| self[k] = v unless k.in?(exclude_names) }
        end
      end

      def method_missing(name, default_content="")
        if name.to_s =~ /\?$/
          has_key?(name.to_s[0..-2].to_sym)
        else
          self[name]._?.call(default_content) || ""
        end
      end

      undef_method :default

      # Question: does this do anything? -Tom 
      def [](param_name)
        fetch(param_name, nil)
      end

    end

  end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
dryml-1.1.0 lib/dryml/tag_parameters.rb
dryml-1.1.0.pre4 lib/dryml/tag_parameters.rb
dryml-1.1.0.pre3 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre19 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre18 lib/dryml/tag_parameters.rb
dryml-1.1.0.pre2 lib/dryml/tag_parameters.rb
dryml-1.1.0.pre0 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre16 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre15 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre14 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre13 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre12 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre11 lib/dryml/tag_parameters.rb
dryml-1.3.0.pre10 lib/dryml/tag_parameters.rb