nexus_parser 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.1.4
@@ -162,12 +162,10 @@ class Builder
162
162
  end
163
163
 
164
164
  def update_taxon(options = {})
165
-
166
165
  @opt = {
167
166
  :name => ''
168
167
  }.merge!(options)
169
168
  return false if !@opt[:index]
170
-
171
169
  (@nf.taxa[@opt[:index]].name = @opt[:name]) if @opt[:name]
172
170
  end
173
171
 
@@ -127,7 +127,8 @@ class NexusParser::Parser
127
127
  break
128
128
  else
129
129
  @lexer.pop(NexusParser::Tokens::Title) if @lexer.peek(NexusParser::Tokens::Title) # not used at present
130
-
130
+ @lexer.pop(NexusParser::Tokens::LinkLine) if @lexer.peek(NexusParser::Tokens::LinkLine) # trashing these for now
131
+
131
132
  parse_dimensions if @lexer.peek(NexusParser::Tokens::Dimensions)
132
133
  parse_format if @lexer.peek(NexusParser::Tokens::Format)
133
134
 
@@ -137,6 +138,7 @@ class NexusParser::Parser
137
138
 
138
139
  # handle "\s*OPTIONS MSTAXA = UNCERTAIN;\s\n" within a characters block (sticks in an infinite loop right now)
139
140
 
141
+
140
142
  @lexer.pop(NexusParser::Tokens::MesquiteIDs) if @lexer.peek(NexusParser::Tokens::MesquiteIDs) # trashing these for now
141
143
  @lexer.pop(NexusParser::Tokens::MesquiteBlockID) if @lexer.peek(NexusParser::Tokens::MesquiteBlockID) # trashing these for now
142
144
 
@@ -87,6 +87,10 @@ module NexusParser::Tokens
87
87
  @regexp = Regexp.new(/\A\s*(characters\s*;)\s*/i)
88
88
  end
89
89
 
90
+ class LinkLine < Token
91
+ @regexp = Regexp.new(/\A\s*(link.*\s*;)\s*\n*/i)
92
+ end
93
+
90
94
  # note we grab EOL and ; here
91
95
  class ValuePair < Token
92
96
  @regexp = Regexp.new(/\A\s*([\w\d\_\&]+\s*=\s*((\'[^\']+\')|(\(.*\))|(\"[^\"]+\")|([^\s\n\t;]+)))[\s\n\t;]+/i) # returns key => value hash for tokens like 'foo=bar' or foo = 'b a ar'
@@ -261,6 +265,7 @@ module NexusParser::Tokens
261
265
  NexusParser::Tokens::RBracket,
262
266
  NexusParser::Tokens::Label, # must be before RowVec
263
267
  NexusParser::Tokens::RowVec,
268
+ NexusParser::Tokens::LinkLine,
264
269
  NexusParser::Tokens::ID # need to trash this
265
270
  ]
266
271
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{nexus_parser}
8
- s.version = "1.1.3"
8
+ s.version = "1.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["mjy"]
12
- s.date = %q{2010-04-09}
12
+ s.date = %q{2011-04-12}
13
13
  s.description = %q{A full featured and extensible Nexus file parser in Ruby. }
14
14
  s.email = %q{diapriid@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -42,17 +42,16 @@ Gem::Specification.new do |s|
42
42
  s.homepage = %q{http://github.com/mjy/nexus_parser}
43
43
  s.rdoc_options = ["--charset=UTF-8"]
44
44
  s.require_paths = ["lib"]
45
- s.rubygems_version = %q{1.3.6}
45
+ s.rubygems_version = %q{1.5.3}
46
46
  s.summary = %q{A Nexus file format (phylogenetic inference) parser in Ruby.}
47
47
  s.test_files = [
48
48
  "test/test_nexus_parser.rb"
49
49
  ]
50
50
 
51
51
  if s.respond_to? :specification_version then
52
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
52
  s.specification_version = 3
54
53
 
55
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
54
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
55
  else
57
56
  end
58
57
  else
@@ -930,5 +930,14 @@ class Test_Parser < Test::Unit::TestCase
930
930
  assert true, foo
931
931
  end
932
932
 
933
+ def test_misc
934
+
935
+ assert nf = File.read(File.expand_path(File.join(File.dirname(__FILE__), '../test/Aptostichus.nex')) )
936
+ foo = parse_nexus_file(nf)
937
+ assert true, foo
938
+ end
939
+
940
+
941
+
933
942
  end
934
943
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexus_parser
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 27
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 1
8
- - 3
9
- version: 1.1.3
9
+ - 4
10
+ version: 1.1.4
10
11
  platform: ruby
11
12
  authors:
12
13
  - mjy
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-04-09 00:00:00 -04:00
18
+ date: 2011-04-12 00:00:00 -04:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -59,23 +60,27 @@ rdoc_options:
59
60
  require_paths:
60
61
  - lib
61
62
  required_ruby_version: !ruby/object:Gem::Requirement
63
+ none: false
62
64
  requirements:
63
65
  - - ">="
64
66
  - !ruby/object:Gem::Version
67
+ hash: 3
65
68
  segments:
66
69
  - 0
67
70
  version: "0"
68
71
  required_rubygems_version: !ruby/object:Gem::Requirement
72
+ none: false
69
73
  requirements:
70
74
  - - ">="
71
75
  - !ruby/object:Gem::Version
76
+ hash: 3
72
77
  segments:
73
78
  - 0
74
79
  version: "0"
75
80
  requirements: []
76
81
 
77
82
  rubyforge_project:
78
- rubygems_version: 1.3.6
83
+ rubygems_version: 1.5.3
79
84
  signing_key:
80
85
  specification_version: 3
81
86
  summary: A Nexus file format (phylogenetic inference) parser in Ruby.