class Wikisnakker::Qualifiers

Constants

PROPERTY_REGEX

Attributes

qualifier_snaks[R]

Public Class Methods

new(qualifier_snaks) click to toggle source
# File lib/wikisnakker/qualifiers.rb, line 3
def initialize(qualifier_snaks)
  @qualifier_snaks = qualifier_snaks || {}
end

Public Instance Methods

[](key) click to toggle source
# File lib/wikisnakker/qualifiers.rb, line 11
def [](key)
  __send__(key)
end
method_missing(method_name, *arguments, &block) click to toggle source
Calls superclass method
# File lib/wikisnakker/qualifiers.rb, line 17
def method_missing(method_name, *arguments, &block)
  pid, plural = method_name.to_s.scan(PROPERTY_REGEX).flatten
  return super unless pid
  plural.empty? ? first_snak(pid) : snak(pid)
end
properties() click to toggle source
# File lib/wikisnakker/qualifiers.rb, line 7
def properties
  qualifier_snaks.keys
end
respond_to_missing?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/wikisnakker/qualifiers.rb, line 23
def respond_to_missing?(method_name, include_private = false)
  method_name.to_s.match(PROPERTY_REGEX) || super
end

Private Instance Methods

first_snak(pid) click to toggle source
# File lib/wikisnakker/qualifiers.rb, line 33
def first_snak(pid)
  snak(pid).first
end
snak(pid) click to toggle source
# File lib/wikisnakker/qualifiers.rb, line 29
def snak(pid)
  qualifier_snaks[pid.to_sym].to_a.map { |c| Snak.new(c) }
end