class Bio::FlatFile::AutoDetect::RuleTemplate

Template of a single rule of autodetection

Attributes

dbclasses[R]

database classes

higher_priority_elements[R]

higher priority elements

lower_priority_elements[R]

lower priority elements

name[RW]

unique name of the element

Public Class Methods

[](*arg) click to toggle source

Creates a new element.

   # File lib/bio/io/flatfile/autodetection.rb
38 def self.[](*arg)
39   self.new(*arg)
40 end
new() click to toggle source

Creates a new element.

   # File lib/bio/io/flatfile/autodetection.rb
43 def initialize
44   @higher_priority_elements = RulesArray.new
45   @lower_priority_elements  = RulesArray.new
46   @name = nil
47 end

Public Instance Methods

guess(text, meta) click to toggle source

If given text (and/or meta information) is known, returns the database class. Otherwise, returns nil or false.

text will be a String. meta will be a Hash. meta may contain following keys. :path => pathname, filename or uri.

   # File lib/bio/io/flatfile/autodetection.rb
76 def guess(text, meta)
77   nil
78 end
is_prior_to(elem) click to toggle source

self is prior to the elem.

   # File lib/bio/io/flatfile/autodetection.rb
50 def is_prior_to(elem)
51   return nil if self == elem
52   elem.higher_priority_elements << self
53   self.lower_priority_elements << elem
54   true
55 end

Private Instance Methods

get_dbclass(obj) click to toggle source

Gets database class from given object. Current implementation is: if obj is kind of String, regarded as a constant. Otherwise, returns obj as is.

   # File lib/bio/io/flatfile/autodetection.rb
94 def get_dbclass(obj)
95   obj.kind_of?(String) ? str2const(obj) : obj
96 end
str2const(str) click to toggle source

Gets constant from constant name given as a string.

   # File lib/bio/io/flatfile/autodetection.rb
82 def str2const(str)
83   const = Object
84   str.split(/\:\:/).each do |x|
85     const = const.const_get(x)
86   end
87   const
88 end