Sha256: bad6723dfd2c27821501f849615a704854822379c21d2f1fb05c733df622deda
Contents?: true
Size: 903 Bytes
Versions: 3
Compression:
Stored size: 903 Bytes
Contents
module Obo class Stanza attr_reader :name attr_reader :tagvalues def initialize(name) @name = name @tagvalues = Hash.new{|h,k| h[k] = []} end def [](tag) values = @tagvalues[tag] case values.length when 0 nil when 1 values.first else values end end def add(tag,value) @tagvalues[tag] << case value when 'true' true when 'false' false else value end end def method_missing(method, *args, &block) values = self[method.to_s] if values return values elsif method =~ /\?$/ self.send(method[0..-2]) else raise NoMethodError, "No method #{method} on #{self.class}" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
obo-0.1.5 | lib/obo/stanza.rb |
obo-0.1.4 | lib/obo/stanza.rb |
obo-0.1.3 | lib/obo/stanza.rb |