class Microformats::PropertySet

stub to get around the tests for now

Public Class Methods

new(hash) click to toggle source
# File lib/microformats/results/property_set.rb, line 4
def initialize(hash)
  @hash = hash
end

Public Instance Methods

[](key) click to toggle source
# File lib/microformats/results/property_set.rb, line 20
def [](key)
  @hash[key]
end
method_missing(mname, *args, &block) click to toggle source
Calls superclass method
# File lib/microformats/results/property_set.rb, line 32
def method_missing(mname, *args, &block)
  if respond_to?(mname)
    result_hash = val?(mname)

    if result_hash.is_a?(Array)
      if args[0].nil?
        result_hash = result_hash[0] # will return nil for an empty array
      elsif args[0] == :all
        return result_hash.map do |x|
          ParserResult.new(x)
        end
      elsif args[0].to_i < result_hash.count
        result_hash = result_hash[args[0].to_i]
      else
        result_hash = result_hash[0] # will return nil for an empty array
      end
    end

    if result_hash.is_a?(Hash)
      ParserResult.new(result_hash)
    else
      result_hash
    end
  else
    super(mname, *args, &block)
  end
end
respond_to?(sym, include_private = false) click to toggle source
Calls superclass method
# File lib/microformats/results/property_set.rb, line 28
def respond_to?(sym, include_private = false)
  key?(sym) || super(sym, include_private)
end
to_h() click to toggle source
# File lib/microformats/results/property_set.rb, line 8
def to_h
  @hash
end
to_hash() click to toggle source
# File lib/microformats/results/property_set.rb, line 12
def to_hash
  @hash.to_hash
end
to_json() click to toggle source
# File lib/microformats/results/property_set.rb, line 16
def to_json
  @hash.to_hash.to_json
end
to_s() click to toggle source
# File lib/microformats/results/property_set.rb, line 24
def to_s
  @hash.to_s
end

Private Instance Methods

key?(name) click to toggle source
# File lib/microformats/results/property_set.rb, line 62
def key?(name)
  name = name.to_s
  name_dash = name.tr('_', '-') if name.include?('_')

  !@hash[name].nil? || !@hash[name_dash].nil?
end
val?(name) click to toggle source
# File lib/microformats/results/property_set.rb, line 69
def val?(name)
  name = name.to_s
  name_dash = name.tr('_', '-') if name.include?('_')

  if !@hash[name].nil?
    @hash[name]
  elsif !@hash[name_dash].nil?
    @hash[name_dash]
  end
end