numeral 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/.rvmrc +1 -0
  2. data/VERSION +1 -1
  3. data/lib/numeral.rb +3 -3
  4. data/spec/numeral_spec.rb +17 -12
  5. metadata +11 -3
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.8.7-p174
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/numeral.rb CHANGED
@@ -1,13 +1,13 @@
1
1
  module Numeral
2
- def parse(text)
3
- return parse_natural(text) if text[/[a-z|A-Z]/]
2
+ def parse_num(text)
3
+ return parse_natural_num(text) if text[/[a-z|A-Z]/]
4
4
  numerator, denominator = text.split('/')
5
5
  return numerator.to_f if numerator.include?('.')
6
6
  denominator ||= 1
7
7
  Rational(numerator.to_i, denominator.to_i)
8
8
  end
9
9
 
10
- def parse_natural(text)
10
+ def parse_natural_num(text)
11
11
  [
12
12
  'zero',
13
13
  'one',
data/spec/numeral_spec.rb CHANGED
@@ -2,30 +2,35 @@ require 'spec_helper'
2
2
  require 'rational'
3
3
 
4
4
  describe Numeral do
5
+ include Numeral
6
+
7
+ it "returns nil if input cannot be parsed" do
8
+ parse_num("foobar").should be_nil
9
+ end
10
+
5
11
  describe "parses" do
6
- include Numeral
7
12
 
8
13
  it "digits" do
9
- parse("1").should == 1
10
- parse("12").should == 12
14
+ parse_num("1").should == 1
15
+ parse_num("12").should == 12
11
16
  end
12
17
 
13
18
  it "fractions" do
14
- parse("2/3").should == Rational(2,3)
15
- parse("3/4").should == 0.75
19
+ parse_num("2/3").should == Rational(2,3)
20
+ parse_num("3/4").should == 0.75
16
21
  end
17
22
 
18
23
  it "decimals" do
19
- parse("0.5").should == 0.5
20
- parse(".5").should == 0.5
24
+ parse_num("0.5").should == 0.5
25
+ parse_num(".5").should == 0.5
21
26
  end
22
27
 
23
28
  it "natural words" do
24
- parse("zero").should == 0
25
- parse("One").should == 1
26
- parse("TEN").should == 10
27
- parse("thirteen").should == 13
28
- parse("twenty").should == 20
29
+ parse_num("zero").should == 0
30
+ parse_num("One").should == 1
31
+ parse_num("TEN").should == 10
32
+ parse_num("thirteen").should == 13
33
+ parse_num("twenty").should == 20
29
34
  end
30
35
  end
31
36
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numeral
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 23
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
- - 1
8
+ - 2
8
9
  - 0
9
- version: 0.1.0
10
+ version: 0.2.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Ben Rady
@@ -21,9 +22,11 @@ dependencies:
21
22
  name: rspec
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 13
27
30
  segments:
28
31
  - 1
29
32
  - 2
@@ -43,6 +46,7 @@ extra_rdoc_files:
43
46
  files:
44
47
  - .document
45
48
  - .gitignore
49
+ - .rvmrc
46
50
  - LICENSE
47
51
  - README.rdoc
48
52
  - Rakefile
@@ -62,23 +66,27 @@ rdoc_options:
62
66
  require_paths:
63
67
  - lib
64
68
  required_ruby_version: !ruby/object:Gem::Requirement
69
+ none: false
65
70
  requirements:
66
71
  - - ">="
67
72
  - !ruby/object:Gem::Version
73
+ hash: 3
68
74
  segments:
69
75
  - 0
70
76
  version: "0"
71
77
  required_rubygems_version: !ruby/object:Gem::Requirement
78
+ none: false
72
79
  requirements:
73
80
  - - ">="
74
81
  - !ruby/object:Gem::Version
82
+ hash: 3
75
83
  segments:
76
84
  - 0
77
85
  version: "0"
78
86
  requirements: []
79
87
 
80
88
  rubyforge_project:
81
- rubygems_version: 1.3.6
89
+ rubygems_version: 1.3.7
82
90
  signing_key:
83
91
  specification_version: 3
84
92
  summary: Converts natural text to numbers