figtree 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +7 -7
- data/figtree.gemspec +0 -1
- data/lib/figtree/parser.rb +0 -1
- data/lib/figtree/version.rb +1 -1
- data/spec/figtree/parser_spec.rb +0 -8
- metadata +4 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23b8759cd64c80ceacab65d2130d28c0b98ad5d2
|
4
|
+
data.tar.gz: 4514efb68c67af2eba36064af630fcbfd7d6ccfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11ef0b92c519c82d85ba46b8e11c5fdc7d1df2a535d0bf6593eca98003e76e36b789015d96ff30ffa794a4248c0e84ae14cd462ab481886b50bb11c6cf7011d4
|
7
|
+
data.tar.gz: 9bcb6c65a664cdb9fdb688819ad7768741014edf66fe766dafeab25832c5d55a8e5aaff31de1534b0ecfe4779d853db83016e7efdfec1a0f3727ac9c95ca19cf
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
## about
|
14
14
|
A parser and transformer for loading `.ini` files into Ruby dot notation accessible objects. `.ini` is not a standardized format. But the parser and transformer are easy to extend.
|
15
15
|
|
16
|
-
The goal of figtree is not to accept all `.ini` files generously, but more strictly define `.ini` files so we can make smarter guesses about how to
|
16
|
+
The goal of figtree is not to accept all `.ini` files generously, but more strictly define `.ini` files so we can make smarter guesses about how to convert your settings into objects.
|
17
17
|
|
18
18
|
What kinds of objects are supported? Currently we can recognize [unix style filepaths into Pathname](http://ruby-doc.org/stdlib-2.0.0/libdoc/pathname/rdoc/Pathname.html), [ip4 and ip6 addresses into IPAddr](http://ruby-doc.org/stdlib-2.0.0/libdoc/ipaddr/rdoc/IPAddr.html), and most common Ruby types (String, Array, Boolean, Integer). If there's other types you'd like to see supported, please [file an issue](https://github.com/mooreniemi/figtree/issues/new).
|
19
19
|
|
@@ -22,12 +22,6 @@ If the `.ini` file is invalid, an error will be raised, with the line and char p
|
|
22
22
|
## alternatives
|
23
23
|
If you want an industrial strength, pure Ruby solution, check out [inifile gem](https://github.com/TwP/inifile). It is much looser about what it accepts as valid `.ini` files, and with no pesky dependencies! If you want to see exactly which cases `figtree` supports vs `inifile`, compare our spec files. Many of the cases in our `invalid/` folder `inifile` will parse for you.
|
24
24
|
|
25
|
-
## disambiguation
|
26
|
-
Looking for the graphical viewer of phyllogenic trees? You want this other [Figtree](http://tree.bio.ed.ac.uk/software/figtree/).
|
27
|
-
|
28
|
-
## performance
|
29
|
-
A typical `.ini` file takes slightly less than 0.02s to be parsed, transformed, and loaded. Currently, the whole `.ini` file is read into memory at once. The assumption being these files should not typically be too big. But future minor versions might move to line by line ingestion.
|
30
|
-
|
31
25
|
## installation
|
32
26
|
`gem install figtree`
|
33
27
|
|
@@ -49,6 +43,12 @@ A typical `.ini` file takes slightly less than 0.02s to be parsed, transformed,
|
|
49
43
|
overridden_config.ftp.path
|
50
44
|
=> "/srv/var/tmp/"
|
51
45
|
|
46
|
+
## disambiguation
|
47
|
+
Looking for the graphical viewer of phyllogenic trees? You want this other [Figtree](http://tree.bio.ed.ac.uk/software/figtree/).
|
48
|
+
|
49
|
+
## performance
|
50
|
+
A typical `.ini` file takes slightly less than 0.02s to be parsed, transformed, and loaded. Currently, the whole `.ini` file is read into memory at once. The assumption being these files should not typically be too big. But future minor versions might move to line by line ingestion.
|
51
|
+
|
52
52
|
## development
|
53
53
|
### helpers
|
54
54
|
`bin/setup`
|
data/figtree.gemspec
CHANGED
@@ -22,6 +22,5 @@ Gem::Specification.new do |gem|
|
|
22
22
|
|
23
23
|
gem.files = `git ls-files`.split("\n")
|
24
24
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
25
|
-
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
26
25
|
gem.require_paths = ["lib"]
|
27
26
|
end
|
data/lib/figtree/parser.rb
CHANGED
@@ -10,7 +10,6 @@ module Figtree
|
|
10
10
|
rule(:eof) { any.absent? }
|
11
11
|
rule(:group_title) { match('[a-zA-Z_]').repeat(1) }
|
12
12
|
rule(:space) { (match("\s") | str(' ')) }
|
13
|
-
rule(:spaces) { (space.repeat(2) | comment) }
|
14
13
|
rule(:newline) { str("\n") >> match("\r").maybe }
|
15
14
|
rule(:terminator) do
|
16
15
|
space.repeat(0) >> (comment | newline | eof)
|
data/lib/figtree/version.rb
CHANGED
data/spec/figtree/parser_spec.rb
CHANGED
@@ -37,14 +37,6 @@ module Figtree
|
|
37
37
|
end
|
38
38
|
|
39
39
|
describe 'strings of all kinds' do
|
40
|
-
it 'can parse spaces' do
|
41
|
-
expect(parser.spaces).to parse("#foo")
|
42
|
-
expect(parser.spaces).to parse("# foo")
|
43
|
-
expect(parser.spaces).to parse("# foo\n")
|
44
|
-
expect(parser.spaces).to_not parse(" ")
|
45
|
-
expect(parser.spaces).to_not parse("\s")
|
46
|
-
expect(parser.spaces).to_not parse("a b")
|
47
|
-
end
|
48
40
|
it 'can parse strings' do
|
49
41
|
expect(parser.string).to parse('"hello there, ftp uploading"')
|
50
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: figtree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Moore-Niemi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parslet
|
@@ -88,9 +88,7 @@ dependencies:
|
|
88
88
|
version: '0.10'
|
89
89
|
description: See README.md
|
90
90
|
email: moore.niemi@gmail.com
|
91
|
-
executables:
|
92
|
-
- console
|
93
|
-
- setup
|
91
|
+
executables: []
|
94
92
|
extensions: []
|
95
93
|
extra_rdoc_files: []
|
96
94
|
files:
|
@@ -153,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
151
|
version: '0'
|
154
152
|
requirements: []
|
155
153
|
rubyforge_project:
|
156
|
-
rubygems_version: 2.
|
154
|
+
rubygems_version: 2.6.3
|
157
155
|
signing_key:
|
158
156
|
specification_version: 4
|
159
157
|
summary: A parser and transformer for loading `.ini` files into Ruby dot notation
|