Class: Bio::PhyloXML::Date

Inherits:
Object show all
Defined in:
lib/bio/db/phyloxml/phyloxml_elements.rb

Overview

Description

A date associated with a clade/node. Its value can be numerical by using the 'value' element and/or free text with the 'desc' element' (e.g. 'Silurian'). If a numerical value is used, it is recommended to employ the 'unit' attribute to indicate the type of the numerical value (e.g. 'mya' for 'million years ago').

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#descObject

Free text description of the date.


798
799
800
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 798

def desc
  @desc
end

#maximumObject

Integer. Minimum and maximum of the value.


801
802
803
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 801

def maximum
  @maximum
end

#minimumObject

Integer. Minimum and maximum of the value.


801
802
803
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 801

def minimum
  @minimum
end

#unitObject

String. Units in which value is stored.


795
796
797
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 795

def unit
  @unit
end

#valueObject

Integer. Value of the date.


804
805
806
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 804

def value
  @value
end

Instance Method Details

#to_sObject

Returns value + unit, for exampe “7 mya”


819
820
821
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 819

def to_s
  return "#{value} #{unit}"
end

#to_xmlObject

Converts elements to xml representation. Called by PhyloXML::Writer class.


824
825
826
827
828
829
830
831
832
833
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 824

def to_xml
  date = LibXML::XML::Node.new('date')
  PhyloXML::Writer.generate_xml(date, self, [
      [:attr, 'unit'],
      [:simple, 'desc', @desc],
      [:simple, 'value', @value],
      [:simple, 'minimum', @minimum],
      [:simple, 'maximum', @maximum]])
  return date
end