Class: SiSU_MarkupType::MarkupIdentify
- Inherits:
-
Object
- Object
- SiSU_MarkupType::MarkupIdentify
- Defined in:
- lib/sisu/dp_identify_markup.rb
Constant Summary collapse
- @@version =
{}
Instance Attribute Summary collapse
-
#declared_doc_type ⇒ Object
Returns the value of attribute declared_doc_type.
-
#version ⇒ Object
Returns the value of attribute version.
Instance Method Summary collapse
- #declared ⇒ Object
- #determined ⇒ Object
- #identify ⇒ Object
-
#initialize(content, opt) ⇒ MarkupIdentify
constructor
A new instance of MarkupIdentify.
- #markup_version? ⇒ Boolean
- #series ⇒ Object
Constructor Details
#initialize(content, opt) ⇒ MarkupIdentify
Returns a new instance of MarkupIdentify.
64 65 66 |
# File 'lib/sisu/dp_identify_markup.rb', line 64 def initialize(content,opt) @cont,@opt=content,opt end |
Instance Attribute Details
#declared_doc_type ⇒ Object
Returns the value of attribute declared_doc_type.
63 64 65 |
# File 'lib/sisu/dp_identify_markup.rb', line 63 def declared_doc_type @declared_doc_type end |
#version ⇒ Object
Returns the value of attribute version.
63 64 65 |
# File 'lib/sisu/dp_identify_markup.rb', line 63 def version @version end |
Instance Method Details
#declared ⇒ Object
154 155 156 |
# File 'lib/sisu/dp_identify_markup.rb', line 154 def declared identify.version[:declared].to_f end |
#determined ⇒ Object
143 144 145 |
# File 'lib/sisu/dp_identify_markup.rb', line 143 def determined identify.version[:determined].to_f end |
#identify ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/sisu/dp_identify_markup.rb', line 67 def identify @version,@declared_doc_type=@@version,@@declared_doc_type if @opt.fns != @@fns if @cont[0] =~ /^(?:%\s+)?SiSU\s+(text|master|insert)\s+([0-9](?:\.[0-9]+){1,2})/ \ or @cont[0] =~ /^(?:%\s+)?sisu-([0-9](?:\.[0-9]+){1,2})/ @declared_doc_type,@version[:declared]=$1,$2 elsif @cont[0] =~ /^(?:%\s+)?SiSU\s+([0-9](?:\.[0-9]+){1,2})/ \ or @cont[0] =~ /^(?:%\s+)?sisu-([0-9](?:\.[0-9]+){1,2})/ @version[:declared]=$1 end @flag_2_0,@flag_66,@flag_57,@flag_38=false,false,false,false @cont.each_with_index do |y,i| if y =~/^@make:|^@classify|^\s\s?:\S+?:\s+\S/ version=2.0.to_f @version[:determined]=version @flag_2_0=true break end unless @flag_38 if y =~/^:?A~/ version=0.38.to_f @version[:determined]=version @flag_38=true end end if @flag_38 if @flag_69 \ or y =~/^=\{.+?\}\s*$/ version=0.69.to_f @flag_69=true @version[:determined]=version break end if @flag_66 \ or y =~/[:;]\{.+?\}[:;][a-z+]/ version=0.66.to_f @flag_66=true @version[:determined]=version break end end end @flag_57,@flag_38=false,false unless @flag_2_0 \ or @flag_66 \ or @flag_69 @cont.each_with_index do |y,i| if @flag_57 \ or y =~/^:?A~\?? @title/ @version[:determined]=0.57.to_f @flag_57=true break end if @flag_38 \ or y =~/^:?A~/ @version[:determined]=0.38.to_f @flag_38=true break if i >= 200 if y =~ /(?:~{\*+|~\[\*|~\[\+)\s/ @version[:determined]=0.42 #0.38 can safely be treated as 0.42 break end end if y =~/^0~/ \ and not @flag_38 @version[:determined]=0.16.to_f break end end end @@fns=@opt.fns @@version,@@declared_doc_type=@version,@declared_doc_type end self end |
#markup_version? ⇒ Boolean
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/sisu/dp_identify_markup.rb', line 142 def markup_version? def determined identify.version[:determined].to_f end def series s=case identify.version[:determined].to_s when /^[01]\./ then '1.0' when /^[2]\./ then '2.0' else '2.0' end "series #{s}" end def declared identify.version[:declared].to_f end self end |
#series ⇒ Object
146 147 148 149 150 151 152 153 |
# File 'lib/sisu/dp_identify_markup.rb', line 146 def series s=case identify.version[:determined].to_s when /^[01]\./ then '1.0' when /^[2]\./ then '2.0' else '2.0' end "series #{s}" end |