Class: Bio::FlatFile::AutoDetect::RuleProc

Inherits:
RuleTemplate show all
Defined in:
lib/bio/io/flatfile.rb

Overview

A autodetection rule that passes data to the proc object.

Instance Attribute Summary

Attributes inherited from RuleTemplate

#higher_priority_elements, #lower_priority_elements, #name

Instance Method Summary collapse

Methods inherited from RuleTemplate

[], #is_prior_to

Constructor Details

#initialize(*dbclasses, &proc) ⇒ RuleProc

Creates a new instance.



957
958
959
960
961
962
963
# File 'lib/bio/io/flatfile.rb', line 957

def initialize(*dbclasses, &proc)
  super()
  @proc = proc
  @dbclasses = nil
  @dbclasses_lazy = dbclasses
  @name = dbclasses.collect { |x| x.to_s }.join('|')
end

Instance Method Details

#dbclassesObject

database classes (lazy evaluation)



966
967
968
969
970
971
# File 'lib/bio/io/flatfile.rb', line 966

def dbclasses
  unless @dbclasses
    @dbclasses = @dbclasses_lazy.collect { |x| get_dbclass(x) }
  end
  @dbclasses
end

#guess(text, meta) ⇒ Object

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

Refer RuleTemplate#guess for meta.



978
979
980
# File 'lib/bio/io/flatfile.rb', line 978

def guess(text, meta)
  @proc.call(text)
end