cogsworth 1.0.1 → 1.0.2

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/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