herbalist 0.1.0 → 0.2.0
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.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +21 -0
- data/Rakefile +2 -44
- data/herbalist.gemspec +20 -56
- data/lib/herbalist.rb +2 -1
- data/lib/herbalist/herbalist.rb +4 -4
- data/lib/herbalist/version.rb +3 -0
- data/test/test_helper.rb +4 -1
- data/test/test_herbalist.rb +48 -44
- metadata +82 -63
- data/VERSION +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5a227228f017350ecb59d583c8e521eed0cb7e2a
|
4
|
+
data.tar.gz: 90dd46353a292c5fe3bfaa53f80ff5c32911e74d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c4de6b5a2b8df340e4cc01b1f2ca8b7408930662a2f881e186e9a0558e376766bfd2e05c4caaf9d1ac7d963d7831c4321ccaf9e88c021ed498e3036db2f1531b
|
7
|
+
data.tar.gz: 6005fce915869f2e49c9c5e0dbfbedc5a6f3a4081668ff1daa651fc585a38e328e40cbc9edb4e2f180b2a10b96e294511620d959939c363f5539fb502f9eccbb
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
herbalist (0.1.0)
|
5
|
+
alchemist (~> 0.1)
|
6
|
+
numerizer (~> 0.2)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
alchemist (0.1.7)
|
12
|
+
numerizer (0.2.0)
|
13
|
+
rake (10.3.1)
|
14
|
+
|
15
|
+
PLATFORMS
|
16
|
+
ruby
|
17
|
+
|
18
|
+
DEPENDENCIES
|
19
|
+
bundler (~> 1.6)
|
20
|
+
herbalist!
|
21
|
+
rake
|
data/Rakefile
CHANGED
@@ -1,29 +1,4 @@
|
|
1
|
-
require
|
2
|
-
require 'rake/packagetask'
|
3
|
-
require 'rake/rdoctask'
|
4
|
-
require 'rake'
|
5
|
-
|
6
|
-
begin
|
7
|
-
require 'jeweler'
|
8
|
-
Jeweler::Tasks.new do |gem|
|
9
|
-
gem.name = "herbalist"
|
10
|
-
gem.summary = %Q{Herbalist is a natural language measurements parser.}
|
11
|
-
gem.description = %Q{Herbalist is a natural language measurements parser. It is built on top of the Alchemist[http://github.com/toastyapps/alchemist] gem and draws heavily from the Chronic[http://github.com/evaryont/chronic].}
|
12
|
-
gem.email = "duff.john@gmail.com"
|
13
|
-
gem.homepage = "http://github.com/jduff/herbalist"
|
14
|
-
gem.authors = ["jduff"]
|
15
|
-
|
16
|
-
gem.add_dependency('alchemist', '>= 0.1.2')
|
17
|
-
gem.add_dependency('numerizer', '>= 0.1.1')
|
18
|
-
|
19
|
-
gem.add_development_dependency('jeremymcanally-context')
|
20
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
21
|
-
end
|
22
|
-
|
23
|
-
Jeweler::GemcutterTasks.new
|
24
|
-
rescue LoadError
|
25
|
-
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
26
|
-
end
|
1
|
+
require "bundler/gem_tasks"
|
27
2
|
|
28
3
|
require 'rake/testtask'
|
29
4
|
Rake::TestTask.new(:test) do |test|
|
@@ -32,6 +7,7 @@ Rake::TestTask.new(:test) do |test|
|
|
32
7
|
test.verbose = true
|
33
8
|
end
|
34
9
|
|
10
|
+
|
35
11
|
begin
|
36
12
|
require 'rcov/rcovtask'
|
37
13
|
Rcov::RcovTask.new do |test|
|
@@ -44,21 +20,3 @@ rescue LoadError
|
|
44
20
|
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
45
21
|
end
|
46
22
|
end
|
47
|
-
|
48
|
-
task :test => :check_dependencies
|
49
|
-
|
50
|
-
task :default => :test
|
51
|
-
|
52
|
-
require 'rake/rdoctask'
|
53
|
-
Rake::RDocTask.new do |rdoc|
|
54
|
-
if File.exist?('VERSION')
|
55
|
-
version = File.read('VERSION')
|
56
|
-
else
|
57
|
-
version = ""
|
58
|
-
end
|
59
|
-
|
60
|
-
rdoc.rdoc_dir = 'rdoc'
|
61
|
-
rdoc.title = "herbalist #{version}"
|
62
|
-
rdoc.rdoc_files.include('README*')
|
63
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
64
|
-
end
|
data/herbalist.gemspec
CHANGED
@@ -1,60 +1,24 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'herbalist/version'
|
5
5
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "herbalist"
|
8
|
+
spec.version = Herbalist::VERSION
|
9
|
+
spec.authors = ["jduff"]
|
10
|
+
spec.email = ["duff.john@gmail.com"]
|
11
|
+
spec.summary = %q{Herbalist is a natural language measurements parser.}
|
12
|
+
spec.homepage = "https://github.com/jduff/herbalist"
|
13
|
+
spec.license = "MIT"
|
9
14
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
s.email = %q{duff.john@gmail.com}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
".gitignore",
|
22
|
-
"LICENSE",
|
23
|
-
"README.rdoc",
|
24
|
-
"Rakefile",
|
25
|
-
"VERSION",
|
26
|
-
"herbalist.gemspec",
|
27
|
-
"lib/herbalist.rb",
|
28
|
-
"lib/herbalist/herbalist.rb",
|
29
|
-
"test/test_helper.rb",
|
30
|
-
"test/test_herbalist.rb"
|
31
|
-
]
|
32
|
-
s.homepage = %q{http://github.com/jduff/herbalist}
|
33
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
34
|
-
s.require_paths = ["lib"]
|
35
|
-
s.rubygems_version = %q{1.3.5}
|
36
|
-
s.summary = %q{Herbalist is a natural language measurements parser.}
|
37
|
-
s.test_files = [
|
38
|
-
"test/test_helper.rb",
|
39
|
-
"test/test_herbalist.rb"
|
40
|
-
]
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
16
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
|
+
spec.require_paths = ["lib"]
|
41
19
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
47
|
-
s.add_runtime_dependency(%q<alchemist>, [">= 0.1.2"])
|
48
|
-
s.add_runtime_dependency(%q<numerizer>, [">= 0.1.1"])
|
49
|
-
s.add_development_dependency(%q<jeremymcanally-context>, [">= 0"])
|
50
|
-
else
|
51
|
-
s.add_dependency(%q<alchemist>, [">= 0.1.2"])
|
52
|
-
s.add_dependency(%q<numerizer>, [">= 0.1.1"])
|
53
|
-
s.add_dependency(%q<jeremymcanally-context>, [">= 0"])
|
54
|
-
end
|
55
|
-
else
|
56
|
-
s.add_dependency(%q<alchemist>, [">= 0.1.2"])
|
57
|
-
s.add_dependency(%q<numerizer>, [">= 0.1.1"])
|
58
|
-
s.add_dependency(%q<jeremymcanally-context>, [">= 0"])
|
59
|
-
end
|
20
|
+
spec.add_dependency "alchemist", "~>0.1"
|
21
|
+
spec.add_dependency "numerizer", "~>0.2"
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
23
|
+
spec.add_development_dependency "rake"
|
60
24
|
end
|
data/lib/herbalist.rb
CHANGED
data/lib/herbalist/herbalist.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Herbalist
|
2
2
|
# collect up all the possible unit types that Alchemist can handle
|
3
|
-
POSSIBLE_UNITS = Alchemist.
|
3
|
+
POSSIBLE_UNITS = Alchemist.library.categories.map{|c| Alchemist.library.unit_names c}.flatten.uniq
|
4
4
|
MULTIWORD_UNITS = POSSIBLE_UNITS.collect{|u| u.to_s}.grep(/_/)
|
5
5
|
|
6
6
|
class << self
|
@@ -138,9 +138,9 @@ module Herbalist
|
|
138
138
|
end
|
139
139
|
|
140
140
|
# try si units with prefixes (kilo, deca etc)
|
141
|
-
Alchemist.unit_prefixes.each do |prefix, value|
|
141
|
+
Alchemist.library.unit_prefixes.each do |prefix, value|
|
142
142
|
if token.word =~ /^#{prefix.to_s}.+/i
|
143
|
-
Alchemist.si_units.each do |unit|
|
143
|
+
Alchemist.library.si_units.each do |unit|
|
144
144
|
if unit.to_s=~/#{token.word.gsub(/^#{prefix.to_s}/i,'')}$/i
|
145
145
|
return Tag.new(:unit, "#{prefix}#{unit}")
|
146
146
|
end
|
@@ -156,4 +156,4 @@ module Herbalist
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
-
end
|
159
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'test/unit'
|
3
|
-
require 'context'
|
4
3
|
|
5
4
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
6
5
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
7
6
|
require 'herbalist'
|
8
7
|
|
9
8
|
class Test::Unit::TestCase
|
9
|
+
|
10
|
+
def self.test(name, &block)
|
11
|
+
define_method("test_#{name.gsub(/\s+/,'_')}".to_sym, &block)
|
12
|
+
end
|
10
13
|
end
|
data/test/test_herbalist.rb
CHANGED
@@ -3,78 +3,82 @@ require File.join(File.dirname(__FILE__), 'test_helper')
|
|
3
3
|
class HerbalistTest < Test::Unit::TestCase
|
4
4
|
# Herbalist.debug=true
|
5
5
|
|
6
|
-
|
7
|
-
assert_equal
|
8
|
-
assert_equal
|
9
|
-
assert_equal 2.
|
6
|
+
test "parse number of cups" do
|
7
|
+
assert_equal :cup, Herbalist.parse('1 cup').unit_name
|
8
|
+
assert_equal 1.cup.value, Herbalist.parse('1 cup').value
|
9
|
+
assert_equal 2.cups.value, Herbalist.parse('2 cups').value
|
10
|
+
assert_equal 2.5.cups.value, Herbalist.parse('2.5 cups').value
|
10
11
|
end
|
11
12
|
|
12
|
-
|
13
|
-
assert_equal
|
14
|
-
assert_equal
|
15
|
-
assert_equal 2.
|
13
|
+
test "parse number of meter" do
|
14
|
+
assert_equal :meter, Herbalist.parse('1 meter').unit_name
|
15
|
+
assert_equal 1.meter.value, Herbalist.parse('1 meter').value
|
16
|
+
assert_equal 2.meter.value, Herbalist.parse('2 meter').value
|
17
|
+
assert_equal 2.5.meter.value, Herbalist.parse('2.5 meter').value
|
16
18
|
end
|
17
19
|
|
18
|
-
|
19
|
-
assert_equal
|
20
|
-
assert_equal
|
21
|
-
assert_equal
|
20
|
+
test "parse number of kilometer" do
|
21
|
+
assert_equal :meter, Herbalist.parse('1 kilometer').unit_name
|
22
|
+
assert_equal 1000, Herbalist.parse('1 kilometer').exponent
|
23
|
+
assert_equal 1.kilometer.value, Herbalist.parse('1 kilometer').value
|
24
|
+
assert_equal 2.kilometer.value, Herbalist.parse('2 kilometer').value
|
25
|
+
assert_equal 2.5.kilometer.value, Herbalist.parse('2.5 kilometer').value
|
22
26
|
end
|
23
27
|
|
24
|
-
|
25
|
-
assert_equal 1.kilometer, Herbalist.parse('1 Kilometer')
|
26
|
-
assert_equal 2.
|
27
|
-
assert_equal 2.5.miles, Herbalist.parse('2.5 Miles')
|
28
|
+
test "parse mixed case units" do
|
29
|
+
assert_equal 1.kilometer.value, Herbalist.parse('1 Kilometer').value
|
30
|
+
assert_equal 2.kilometer.value, Herbalist.parse('2 KiloMeters').value
|
31
|
+
assert_equal 2.5.miles.value, Herbalist.parse('2.5 Miles').value
|
28
32
|
end
|
29
33
|
|
30
|
-
|
31
|
-
assert_equal 1.kilometer, Herbalist.parse('one Kilometer')
|
32
|
-
assert_equal 15.
|
33
|
-
assert_equal 21.5.miles, Herbalist.parse('twenty-one and a half Miles')
|
34
|
+
test "parse numbers in words" do
|
35
|
+
assert_equal 1.kilometer.value, Herbalist.parse('one Kilometer').value
|
36
|
+
assert_equal 15.kilometer.value, Herbalist.parse('fifteen Kilometer').value
|
37
|
+
assert_equal 21.5.miles.value, Herbalist.parse('twenty-one and a half Miles').value
|
34
38
|
end
|
35
39
|
|
36
|
-
|
37
|
-
assert_equal 0.25.cup, Herbalist.parse('a quarter cup')
|
38
|
-
assert_equal 0.5.teaspoon, Herbalist.parse('a half teaspoon')
|
39
|
-
assert_equal 1.25.liters, Herbalist.parse('one and a quarter liters')
|
40
|
+
test "parse fractions in words" do
|
41
|
+
assert_equal 0.25.cup.value, Herbalist.parse('a quarter cup').value
|
42
|
+
assert_equal 0.5.teaspoon.value, Herbalist.parse('a half teaspoon').value
|
43
|
+
assert_equal 1.25.liters.value, Herbalist.parse('one and a quarter liters').value
|
40
44
|
end
|
41
45
|
|
42
|
-
|
43
|
-
assert_equal 1.cubic_meter, Herbalist.parse('one Cubic Meter')
|
44
|
-
assert_equal 15.kilowatt_hours, Herbalist.parse('fifteen kilowatt Hours')
|
45
|
-
assert_equal 21.5.tropical_years, Herbalist.parse('21.5 tropical years')
|
46
|
+
test "parse multiword units" do
|
47
|
+
assert_equal 1.cubic_meter.value, Herbalist.parse('one Cubic Meter').value
|
48
|
+
assert_equal 15.kilowatt_hours.value, Herbalist.parse('fifteen kilowatt Hours').value
|
49
|
+
assert_equal 21.5.tropical_years.value, Herbalist.parse('21.5 tropical years').value
|
46
50
|
end
|
47
51
|
|
48
|
-
|
49
|
-
assert_equal 1.cup, Herbalist.parse("1 Cup onion chopped")
|
50
|
-
assert_equal 1.25.ounces, Herbalist.parse("1 Package (1.25 ounces) taco seasoning mix")
|
51
|
-
assert_equal 16.ounces, Herbalist.parse("1 Can (16 ounces) tomatoes, undrained")
|
52
|
-
assert_equal 6.cups, Herbalist.parse("and 6 Cups turkey broth")
|
52
|
+
test "parse units from within a string of other text" do
|
53
|
+
assert_equal 1.cup.value, Herbalist.parse("1 Cup onion chopped").value
|
54
|
+
assert_equal 1.25.ounces.value, Herbalist.parse("1 Package (1.25 ounces) taco seasoning mix").value
|
55
|
+
assert_equal 16.ounces.value, Herbalist.parse("1 Can (16 ounces) tomatoes, undrained").value
|
56
|
+
assert_equal 6.cups.value, Herbalist.parse("and 6 Cups turkey broth").value
|
53
57
|
|
54
|
-
assert_equal 2.5.football_fields, Herbalist.parse("it was two and a half football fields")
|
55
|
-
assert_equal 15.
|
58
|
+
assert_equal 2.5.football_fields.value, Herbalist.parse("it was two and a half football fields").value
|
59
|
+
assert_equal 15.meter.value, Herbalist.parse("John ran 15 meter").value
|
56
60
|
end
|
57
61
|
|
58
|
-
|
62
|
+
test "not match can to ccandela units" do
|
59
63
|
assert_equal nil, Herbalist.parse("1 Can")
|
60
64
|
end
|
61
65
|
|
62
|
-
|
66
|
+
test "ignore units of measure that alchemist does not understand" do
|
63
67
|
assert_equal nil, Herbalist.parse('2 awesomes')
|
64
68
|
end
|
65
69
|
|
66
70
|
# add tests for all units Alchemist can handle
|
67
|
-
Alchemist.
|
68
|
-
|
69
|
-
assert_equal 1.send(unit), Herbalist.parse("1 #{unit}")
|
70
|
-
assert_equal 2.5.send(unit), Herbalist.parse("2.5 #{unit}")
|
71
|
+
Alchemist.library.categories.map{|c| Alchemist.library.unit_names(c)}.flatten.uniq.each do |unit|
|
72
|
+
test "parse #{unit}" do
|
73
|
+
assert_equal 1.send(unit).value, Herbalist.parse("1 #{unit}").value
|
74
|
+
assert_equal 2.5.send(unit).value, Herbalist.parse("2.5 #{unit}").value
|
71
75
|
end
|
72
76
|
|
73
77
|
# tests for all multi word units
|
74
78
|
if (words = unit.to_s.split('_')).length > 1
|
75
|
-
|
76
|
-
assert_equal 1.send(unit), Herbalist.parse("1 #{words.join(' ')}")
|
77
|
-
assert_equal 2.5.send(unit), Herbalist.parse("2.5 #{words.join(' ')}")
|
79
|
+
test "parse multiword unit '#{words.join(' ')}'" do
|
80
|
+
assert_equal 1.send(unit).value, Herbalist.parse("1 #{words.join(' ')}").value
|
81
|
+
assert_equal 2.5.send(unit).value, Herbalist.parse("2.5 #{words.join(' ')}").value
|
78
82
|
end
|
79
83
|
end
|
80
84
|
end
|
metadata
CHANGED
@@ -1,96 +1,115 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: herbalist
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- jduff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-05-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
16
14
|
name: alchemist
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.1'
|
17
20
|
type: :runtime
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - "
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.1
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
26
28
|
name: numerizer
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.2'
|
27
34
|
type: :runtime
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
31
59
|
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: jeremymcanally-context
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
37
62
|
type: :development
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
41
66
|
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
|
45
|
-
|
46
|
-
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description:
|
70
|
+
email:
|
71
|
+
- duff.john@gmail.com
|
47
72
|
executables: []
|
48
|
-
|
49
73
|
extensions: []
|
50
|
-
|
51
|
-
|
52
|
-
-
|
53
|
-
-
|
54
|
-
|
55
|
-
- .
|
56
|
-
- .gitignore
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".document"
|
77
|
+
- ".gitignore"
|
78
|
+
- Gemfile
|
79
|
+
- Gemfile.lock
|
57
80
|
- LICENSE
|
58
81
|
- README.rdoc
|
59
82
|
- Rakefile
|
60
|
-
- VERSION
|
61
83
|
- herbalist.gemspec
|
62
84
|
- lib/herbalist.rb
|
63
85
|
- lib/herbalist/herbalist.rb
|
86
|
+
- lib/herbalist/version.rb
|
64
87
|
- test/test_helper.rb
|
65
88
|
- test/test_herbalist.rb
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
89
|
+
homepage: https://github.com/jduff/herbalist
|
90
|
+
licenses:
|
91
|
+
- MIT
|
92
|
+
metadata: {}
|
70
93
|
post_install_message:
|
71
|
-
rdoc_options:
|
72
|
-
|
73
|
-
require_paths:
|
94
|
+
rdoc_options: []
|
95
|
+
require_paths:
|
74
96
|
- lib
|
75
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
-
requirements:
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
77
99
|
- - ">="
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version:
|
80
|
-
|
81
|
-
|
82
|
-
requirements:
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
83
104
|
- - ">="
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version:
|
86
|
-
version:
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
87
107
|
requirements: []
|
88
|
-
|
89
108
|
rubyforge_project:
|
90
|
-
rubygems_version:
|
109
|
+
rubygems_version: 2.2.2
|
91
110
|
signing_key:
|
92
|
-
specification_version:
|
111
|
+
specification_version: 4
|
93
112
|
summary: Herbalist is a natural language measurements parser.
|
94
|
-
test_files:
|
113
|
+
test_files:
|
95
114
|
- test/test_helper.rb
|
96
115
|
- test/test_herbalist.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.1.0
|