Sha256: bbd5cc117636e51c92c268a9e9f3c829c534d59eb07f1b807e6e5c4cc30505cd
Contents?: true
Size: 1.3 KB
Versions: 3
Compression:
Stored size: 1.3 KB
Contents
module Bioinform class Parser module SingleMotifParser def self.included(base) base.class_eval { extend ClassMethods } include Enumerable alias_method :split, :to_a end module ClassMethods def split_on_motifs(input, pm_klass = PM) [ input.is_a?(pm_klass) ? self : pm_klass.new(input, self) ] end end def each if block_given? yield self else self.to_enum(:each) end end end include SingleMotifParser module MultipleMotifsParser def self.included(base) base.class_eval { extend ClassMethods } include Enumerable alias_method :split, :to_a end module ClassMethods def split_on_motifs(input, pm_klass = PM) split(input).map{|el| el.is_a?(pm_klass) ? el : pm_klass.new(el)} end def split(input) self.new(input).split end private :split end def scanner_reset end def each if block_given? scanner_reset while result = parse yield result end else self.to_enum(:each) end end private :scanner_reset end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bioinform-0.1.12 | lib/bioinform/parsers/splittable_parser.rb |
bioinform-0.1.11 | lib/bioinform/parsers/splittable_parser.rb |
bioinform-0.1.10 | lib/bioinform/parsers/splittable_parser.rb |