cogsworth 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,11 +6,11 @@ The name of this gem is derived from *Cogsworth*, the character from Beauty and
6
6
 
7
7
  ## Usage
8
8
 
9
- Cogsworth.parse('2 hours 30 minutes') => 9000
9
+ Cogsworth.string_to_seconds('2 hours 30 minutes') => 9000
10
10
 
11
- Cogsworth.unparse(142510) => '1d 15h 35m 10s'
11
+ Cogsworth.seconds_to_string(142510) => '1d 15h 35m 10s'
12
12
 
13
- ## Acceptable Formats
13
+ ## Acceptable String Formats
14
14
 
15
15
  '2 days 1 hour 35 minutes 25 seconds'
16
16
  '2days 1hr 35min 25sec'
@@ -7,21 +7,21 @@ module Cogsworth
7
7
  "d" => (60 * 60 * 24)
8
8
  }
9
9
 
10
- def parse(string)
10
+ def string_to_seconds(string)
11
11
  string.gsub(' ','').downcase.scan(/(\d+)([a-zA-Z]+)/).inject(0) do |sum, pair|
12
12
  sum += pair[0].to_i * MULTIPLIERS[pair[1].slice(0,1)]
13
13
  end
14
14
  end
15
15
 
16
- def unparse(seconds, results=[])
16
+ def seconds_to_string(seconds, results=[])
17
17
  return results.join(' ') if seconds == 0
18
18
 
19
19
  ['d','h','m','s'].each do |unit|
20
20
  occurrences = seconds/MULTIPLIERS[unit]
21
- return unparse(seconds%MULTIPLIERS[unit], results.push("#{occurrences}#{unit}")) if occurrences > 0
21
+ return seconds_to_string(seconds%MULTIPLIERS[unit], results.push("#{occurrences}#{unit}")) if occurrences > 0
22
22
  end
23
23
 
24
- return unparse(seconds, results)
24
+ return seconds_to_string(seconds, results)
25
25
  end
26
26
  end
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module Cogsworth
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -1,83 +1,83 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Cogsworth do
4
- it { should respond_to(:parse).with(1).argument }
5
- it { should respond_to(:unparse).with(1).argument }
4
+ it { should respond_to(:string_to_seconds).with(1).argument }
5
+ it { should respond_to(:seconds_to_string).with(1).argument }
6
6
 
7
7
  describe "parsing a string into seconds" do
8
8
 
9
9
  it "parses '1m' to 60 seconds" do
10
- Cogsworth.parse("1m").should be(60)
10
+ Cogsworth.string_to_seconds("1m").should be(60)
11
11
  end
12
12
 
13
13
  it "parses '1 min' to 60 seconds" do
14
- Cogsworth.parse("1 min").should be(60)
14
+ Cogsworth.string_to_seconds("1 min").should be(60)
15
15
  end
16
16
 
17
17
  it "parses '2m' to 120 seconds" do
18
- Cogsworth.parse("2m").should be(120)
18
+ Cogsworth.string_to_seconds("2m").should be(120)
19
19
  end
20
20
 
21
21
  it "parses '2 minutes' to 120 seconds" do
22
- Cogsworth.parse("2 minutes").should be(120)
22
+ Cogsworth.string_to_seconds("2 minutes").should be(120)
23
23
  end
24
24
 
25
25
  it "parses '2 mins' to 120 seconds" do
26
- Cogsworth.parse("2 mins").should be(120)
26
+ Cogsworth.string_to_seconds("2 mins").should be(120)
27
27
  end
28
28
 
29
29
  it "parses '1h' to 3600 seconds" do
30
- Cogsworth.parse("1h").should be(3600)
30
+ Cogsworth.string_to_seconds("1h").should be(3600)
31
31
  end
32
32
 
33
33
  it "parses '1h 20m' to 4800 seconds" do
34
- Cogsworth.parse("1h 20m").should be(4800)
34
+ Cogsworth.string_to_seconds("1h 20m").should be(4800)
35
35
  end
36
36
 
37
37
  it "parses '2 days' to 172800 seconds" do
38
- Cogsworth.parse("2 days").should be(172800)
38
+ Cogsworth.string_to_seconds("2 days").should be(172800)
39
39
  end
40
40
 
41
41
  it "parses '1d15h35m10s' to 142510 seconds" do
42
- Cogsworth.parse("1d15h35m10s").should be(142510)
42
+ Cogsworth.string_to_seconds("1d15h35m10s").should be(142510)
43
43
  end
44
44
 
45
45
  it "parses '1H10M' to 4200 seconds" do
46
- Cogsworth.parse("1H10M").should be(4200)
46
+ Cogsworth.string_to_seconds("1H10M").should be(4200)
47
47
  end
48
48
  end
49
49
 
50
50
  describe "converting seconds into a formatted string" do
51
51
  it "converts 30 seconds to 30s'" do
52
- Cogsworth.unparse(30).should == '30s'
52
+ Cogsworth.seconds_to_string(30).should == '30s'
53
53
  end
54
54
 
55
55
  it "converts 60 seconds to '1m'" do
56
- Cogsworth.unparse(60).should == '1m'
56
+ Cogsworth.seconds_to_string(60).should == '1m'
57
57
  end
58
58
 
59
59
  it "converts 120 seconds to '2m'" do
60
- Cogsworth.unparse(120).should == '2m'
60
+ Cogsworth.seconds_to_string(120).should == '2m'
61
61
  end
62
62
 
63
63
  it "converts 150 seconds to '2m 30s'" do
64
- Cogsworth.unparse(150).should == '2m 30s'
64
+ Cogsworth.seconds_to_string(150).should == '2m 30s'
65
65
  end
66
66
 
67
67
  it "converts 156 seconds to '2m 36s'" do
68
- Cogsworth.unparse(156).should == '2m 36s'
68
+ Cogsworth.seconds_to_string(156).should == '2m 36s'
69
69
  end
70
70
 
71
71
  it "converts 3600 seconds to '1h'" do
72
- Cogsworth.unparse(3600).should == '1h'
72
+ Cogsworth.seconds_to_string(3600).should == '1h'
73
73
  end
74
74
 
75
75
  it "converts 86400 seconds to '1d'" do
76
- Cogsworth.unparse(86400).should == '1d'
76
+ Cogsworth.seconds_to_string(86400).should == '1d'
77
77
  end
78
78
 
79
79
  it "converts 142510 seconds to '1d 15h 35m 10s'" do
80
- Cogsworth.unparse(142510).should == '1d 15h 35m 10s'
80
+ Cogsworth.seconds_to_string(142510).should == '1d 15h 35m 10s'
81
81
  end
82
82
  end
83
83
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cogsworth
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease: false
4
+ hash: 19
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 1
10
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jon buda
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-22 00:00:00 -06:00
18
+ date: 2011-05-31 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  requirements: []
85
85
 
86
86
  rubyforge_project: cogsworth
87
- rubygems_version: 1.3.7
87
+ rubygems_version: 1.6.2
88
88
  signing_key:
89
89
  specification_version: 3
90
90
  summary: A simple natural language time parser for Ruby