running_on_rails 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: efe933324d345330f20906d6d00b8d7a26216a83
4
- data.tar.gz: 59bafb5cfe5aa8682c4849536e00f86cef58496e
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZWY3OTFiMzBlZDI1OWVkZjRjNTYwNjkzM2RkNGFkM2QzOGJlNzg4Mg==
5
+ data.tar.gz: !binary |-
6
+ YmQyODNjYjdiODYzYjVkZmUxNTI3YzYzMDg4ZWE1MDdkMTNkMDJkYg==
5
7
  SHA512:
6
- metadata.gz: b15d9febe86e9cbfabeca44f0832dd5260f5878a3b20c725d606c3fe5ed4c244654d2ff43e2987735a6cb95c2231568c30fd1664caf7032fe20e0cec65aab8c9
7
- data.tar.gz: 9487f25c66676481ec71aba4e44607922e968cdb8af3859592bcede5ff59b57e3d760d40368da4f79df2dffc79a29e2d0122ee0ec7d2f15e7bc5693834241729
8
+ metadata.gz: !binary |-
9
+ MDUxNWM3MDViNGRmNWNlODc4N2M1N2M3MjYxNDhkYzU0NWEwNjUwYTYzMDkz
10
+ Yzc5ZDA1YTQ4ODdmNzU1NzkwMTJhZjAyZTA5YmYxZWUyODQ0ZWYzYjBmYzky
11
+ ZjhiOTZlNDQ0NWIwMDlmYjdhMTUzNGYwZDRkY2M1ZmNlYzAxMDA=
12
+ data.tar.gz: !binary |-
13
+ NzY1OWEzYzBhODAxY2FiOWUzMTZiZjNkNzQyNDc3YzlkMGQ4NWI1ZjM0NjM2
14
+ NDVjZjEzN2VhMGUxNDNmNDg1YmNmYjUyMWEyNjc5NDYyNzVmYjY2MWM3YTE1
15
+ NmFmZjQ3NzhhOTVlN2U2YTc1ZTZmY2IzYzkyY2M1NTRjZWMyOGU=
data/.gitignore CHANGED
@@ -20,3 +20,4 @@ tmp
20
20
  *.o
21
21
  *.a
22
22
  mkmf.log
23
+ *.sh
data/README.md CHANGED
@@ -57,6 +57,10 @@ You can convert Float (as meters/second) to any of the following unit:
57
57
  @pace.to_meters_sec
58
58
  => 3.2
59
59
  ```
60
+ ### Float to mm:ss
61
+
62
+ mins per km and mins per miles can be converted to "mm:ss" with Float#to_mm_ss
63
+
60
64
 
61
65
  ### From one unit to another unit
62
66
 
@@ -74,19 +78,21 @@ from_meters_sec(meters)
74
78
 
75
79
 
76
80
  ```
77
- > @pace_converter = RunningOnRails::PaceConverter.new
78
- => RunningOnRails::PaceConverter
81
+ > @pace_converter = PaceConverter.new
82
+ => PaceConverter
79
83
  > @pace_converter.from_mins_miles(10, 30)
80
84
  => 2.555
81
85
  > @pace_converter.from_kms_hour(11.52)
82
86
  => 3.2
83
87
  ```
84
88
 
89
+ ## Contact
85
90
 
91
+ It's my first gem, so all advice are more than welcome! @manzan_46 // axel.manzano@gmail.com
86
92
 
87
93
  ## Contributing
88
94
 
89
- 1. Fork it ( https://github.com/[my-github-username]/running_on_rails/fork )
95
+ 1. Fork it ( https://github.com/manzan_a/running_on_rails/fork )
90
96
  2. Create your feature branch (`git checkout -b my-new-feature`)
91
97
  3. Commit your changes (`git commit -am 'Add some feature'`)
92
98
  4. Push to the branch (`git push origin my-new-feature`)
data/lib/ext/float.rb CHANGED
@@ -1,21 +1,29 @@
1
1
  Float.class_eval do
2
2
  def to_mins_mile
3
- RunningOnRails::PaceConverter.new(self).to_mins_mile
3
+ PaceConverter.new(self).to_mins_mile
4
4
  end
5
5
 
6
6
  def to_miles_hour
7
- RunningOnRails::PaceConverter.new(self).to_miles_hour
7
+ PaceConverter.new(self).to_miles_hour
8
8
  end
9
9
 
10
10
  def to_mins_km
11
- RunningOnRails::PaceConverter.new(self).to_mins_km
11
+ PaceConverter.new(self).to_mins_km
12
12
  end
13
13
 
14
14
  def to_kms_hour
15
- RunningOnRails::PaceConverter.new(self).to_kms_hour
15
+ PaceConverter.new(self).to_kms_hour
16
16
  end
17
17
 
18
18
  def to_meters_sec
19
- RunningOnRails::PaceConverter.new(self).to_meters_sec
19
+ PaceConverter.new(self).to_meters_sec
20
20
  end
21
+
22
+ def to_mm_ss
23
+ time = 60 * self
24
+ minutes = (time/60).to_i
25
+ seconds = (time - (minutes * 60)).to_i
26
+ return "#{minutes.to_s.rjust(2, '0')}:#{seconds.to_s.rjust(2, '0')}"
27
+ end
28
+
21
29
  end
@@ -1,72 +1,3 @@
1
1
  require "running_on_rails/version"
2
+ require "running_on_rails/pace_converter"
2
3
  require "ext/float"
3
-
4
- module RunningOnRails
5
- class PaceConverter
6
- def initialize(meters = 0, seconds = 1)
7
- @seconds = seconds.to_i
8
- @distance = meters
9
- end
10
-
11
- def from_mins_mile(mins, secs)
12
- mins = (mins or 0).abs.to_i
13
- secs = (secs or 0).abs.to_i
14
- @distance = 1609.344
15
- @seconds = (mins * 60) + secs
16
- to_meters_sec
17
- end
18
-
19
- def from_miles_hour(miles)
20
- miles = (miles or 0).abs
21
- @distance = miles * 1609.344
22
- @seconds = 3600
23
- to_meters_sec
24
- end
25
-
26
- def from_mins_km(mins, secs)
27
- mins = (mins or 0).abs.to_i
28
- secs = (secs or 0).abs.to_i
29
- @distance = 1000.0
30
- @seconds = (mins * 60) + secs
31
- to_meters_sec
32
- end
33
-
34
- def from_kms_hour(kms)
35
- kms = (kms or 0).abs
36
- @distance = kms * 1000.0
37
- @seconds = 3600
38
- to_meters_sec
39
- end
40
-
41
- def from_meters_sec(meters)
42
- meters = (meters or 0).abs
43
- @distance = meters
44
- @seconds = 1
45
- end
46
-
47
- def to_mins_mile
48
- (26.8224 / (@distance / @seconds)).round(3)
49
- end
50
-
51
- def to_miles_hour
52
- ((@distance / @seconds) * 2.23694).round(3)
53
- end
54
-
55
- def to_mins_km
56
- (16.667 / (@distance / @seconds)).round(3)
57
- end
58
-
59
- def to_kms_hour
60
- ((@distance / @seconds) * 3.6).round(3)
61
- end
62
-
63
- def to_meters_sec
64
- if @seconds != 0
65
- ((@distance / @seconds)).round(3)
66
- else
67
- 0.0
68
- end
69
- end
70
-
71
- end
72
- end
@@ -0,0 +1,66 @@
1
+ class PaceConverter
2
+ def initialize(meters = 0, seconds = 1)
3
+ @seconds = seconds.to_i
4
+ @distance = meters
5
+ end
6
+
7
+ def from_mins_mile(mins, secs)
8
+ mins = (mins or 0).abs.to_i
9
+ secs = (secs or 0).abs.to_i
10
+ @distance = 1609.344
11
+ @seconds = (mins * 60) + secs
12
+ to_meters_sec
13
+ end
14
+
15
+ def from_miles_hour(miles)
16
+ miles = (miles or 0).abs
17
+ @distance = miles * 1609.344
18
+ @seconds = 3600
19
+ to_meters_sec
20
+ end
21
+
22
+ def from_mins_km(mins, secs)
23
+ mins = (mins or 0).abs.to_i
24
+ secs = (secs or 0).abs.to_i
25
+ @distance = 1000.0
26
+ @seconds = (mins * 60) + secs
27
+ to_meters_sec
28
+ end
29
+
30
+ def from_kms_hour(kms)
31
+ kms = (kms or 0).abs
32
+ @distance = kms * 1000.0
33
+ @seconds = 3600
34
+ to_meters_sec
35
+ end
36
+
37
+ def from_meters_sec(meters)
38
+ meters = (meters or 0).abs
39
+ @distance = meters
40
+ @seconds = 1
41
+ end
42
+
43
+ def to_mins_mile
44
+ (26.8224 / (@distance / @seconds)).round(3)
45
+ end
46
+
47
+ def to_miles_hour
48
+ ((@distance / @seconds) * 2.23694).round(3)
49
+ end
50
+
51
+ def to_mins_km
52
+ (16.667 / (@distance / @seconds)).round(3)
53
+ end
54
+
55
+ def to_kms_hour
56
+ ((@distance / @seconds) * 3.6).round(3)
57
+ end
58
+
59
+ def to_meters_sec
60
+ if @seconds != 0
61
+ ((@distance / @seconds)).round(3)
62
+ else
63
+ 0.0
64
+ end
65
+ end
66
+ end
@@ -1,3 +1,3 @@
1
1
  module RunningOnRails
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency "rake"
23
- spec.add_development_dependency 'rspec'
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency 'rspec', "~> 2.0"
24
24
 
25
- spec.version = '0.0.2'
25
+ spec.version = '0.0.3'
26
26
  spec.summary = "Tools for running as pace converter, split calculator ..."
27
27
  spec.description = "Running On Rails gem provide some tools for running or cycling as pace converter, split calculator, training pace..."
28
28
  spec.homepage = 'https://github.com/manzan46/running_on_rails'
@@ -1,97 +1,97 @@
1
1
  require "spec_helper"
2
2
 
3
- describe RunningOnRails::PaceConverter do
3
+ describe PaceConverter do
4
4
  describe "#from_mins_mile" do
5
5
  it "returns 0 meters/second for nil mins nil secs" do
6
- expect(RunningOnRails::PaceConverter.new.from_mins_mile(nil, nil)).to eql(0.0)
6
+ expect(PaceConverter.new.from_mins_mile(nil, nil)).to eql(0.0)
7
7
  end
8
8
 
9
9
  it "returns 0 meters/second for 0 mins 0 secs" do
10
- expect(RunningOnRails::PaceConverter.new.from_mins_mile(0, 0)).to eql(0.0)
10
+ expect(PaceConverter.new.from_mins_mile(0, 0)).to eql(0.0)
11
11
  end
12
12
 
13
13
  it "returns 2.555 meters/second for 10 mins 30 secs" do
14
- expect(RunningOnRails::PaceConverter.new.from_mins_mile(10, 30)).to eql(2.555)
14
+ expect(PaceConverter.new.from_mins_mile(10, 30)).to eql(2.555)
15
15
  end
16
16
 
17
17
  it "returns 2.555 meters/second for 10.5 mins 30.9 secs as only integer are accepted" do
18
- expect(RunningOnRails::PaceConverter.new.from_mins_mile(10.5, 30.9)).to eql(2.555)
18
+ expect(PaceConverter.new.from_mins_mile(10.5, 30.9)).to eql(2.555)
19
19
  end
20
20
 
21
21
  it "returns 2.555 meters/second for -10 mins -30 secs as only positive value are accepted" do
22
- expect(RunningOnRails::PaceConverter.new.from_mins_mile(-10, -30)).to eql(2.555)
22
+ expect(PaceConverter.new.from_mins_mile(-10, -30)).to eql(2.555)
23
23
  end
24
24
  end
25
25
 
26
26
  describe "#from_miles_hour" do
27
27
  it "returns 0 meters/second for nil miles" do
28
- expect(RunningOnRails::PaceConverter.new.from_miles_hour(nil)).to eql(0.0)
28
+ expect(PaceConverter.new.from_miles_hour(nil)).to eql(0.0)
29
29
  end
30
30
 
31
31
  it "returns 0 meters/second for 0 miles" do
32
- expect(RunningOnRails::PaceConverter.new.from_miles_hour(0)).to eql(0.0)
32
+ expect(PaceConverter.new.from_miles_hour(0)).to eql(0.0)
33
33
  end
34
34
 
35
35
  it "returns 4.470 meters/second for 10 miles" do
36
- expect(RunningOnRails::PaceConverter.new.from_miles_hour(10)).to eql(4.470)
36
+ expect(PaceConverter.new.from_miles_hour(10)).to eql(4.470)
37
37
  end
38
38
 
39
39
  it "returns 4.694 meters/second for 10.5 miles" do
40
- expect(RunningOnRails::PaceConverter.new.from_miles_hour(10.5)).to eql(4.694)
40
+ expect(PaceConverter.new.from_miles_hour(10.5)).to eql(4.694)
41
41
  end
42
42
 
43
43
  it "returns 4.470 seconds for -10 miles as only positive value are accepted" do
44
- expect(RunningOnRails::PaceConverter.new.from_miles_hour(-10)).to eql(4.470)
44
+ expect(PaceConverter.new.from_miles_hour(-10)).to eql(4.470)
45
45
  end
46
46
  end
47
47
 
48
48
  describe "#from_mins_km" do
49
49
  it "returns 0 meters/second for nil mins nil secs" do
50
- expect(RunningOnRails::PaceConverter.new.from_mins_km(nil, nil)).to eql(0.0)
50
+ expect(PaceConverter.new.from_mins_km(nil, nil)).to eql(0.0)
51
51
  end
52
52
 
53
53
  it "returns 0 meters/second for 0 mins 0 secs" do
54
- expect(RunningOnRails::PaceConverter.new.from_mins_km(0, 0)).to eql(0.0)
54
+ expect(PaceConverter.new.from_mins_km(0, 0)).to eql(0.0)
55
55
  end
56
56
 
57
57
  it "returns 1.587 meters/second for 10 mins 30 secs" do
58
- expect(RunningOnRails::PaceConverter.new.from_mins_km(10, 30)).to eql(1.587)
58
+ expect(PaceConverter.new.from_mins_km(10, 30)).to eql(1.587)
59
59
  end
60
60
 
61
61
  it "returns 1.587 meters/second for 10.5 mins 30.9 secs as only integer are accepted" do
62
- expect(RunningOnRails::PaceConverter.new.from_mins_km(10.5, 30.9)).to eql(1.587)
62
+ expect(PaceConverter.new.from_mins_km(10.5, 30.9)).to eql(1.587)
63
63
  end
64
64
 
65
65
  it "returns 1.587 meters/second for -10 mins -30 secs as only positive value are accepted" do
66
- expect(RunningOnRails::PaceConverter.new.from_mins_km(-10, -30)).to eql(1.587)
66
+ expect(PaceConverter.new.from_mins_km(-10, -30)).to eql(1.587)
67
67
  end
68
68
  end
69
69
 
70
70
  describe "#from_kms_hour" do
71
71
  it "returns 0.0 meters/second for nil kilometers" do
72
- expect(RunningOnRails::PaceConverter.new.from_kms_hour(nil)).to eql(0.0)
72
+ expect(PaceConverter.new.from_kms_hour(nil)).to eql(0.0)
73
73
  end
74
74
 
75
75
  it "returns 0.0 meters/second for 0 kilometers" do
76
- expect(RunningOnRails::PaceConverter.new.from_kms_hour(0)).to eql(0.0)
76
+ expect(PaceConverter.new.from_kms_hour(0)).to eql(0.0)
77
77
  end
78
78
 
79
79
  it "returns 2.778 meters/second for 10 kilometers" do
80
- expect(RunningOnRails::PaceConverter.new.from_kms_hour(10)).to eql(2.778)
80
+ expect(PaceConverter.new.from_kms_hour(10)).to eql(2.778)
81
81
  end
82
82
 
83
83
  it "returns 2.917 meters/second for 10.5 kilometers" do
84
- expect(RunningOnRails::PaceConverter.new.from_kms_hour(10.5)).to eql(2.917)
84
+ expect(PaceConverter.new.from_kms_hour(10.5)).to eql(2.917)
85
85
  end
86
86
 
87
87
  it "returns 2.778 meters/second for -10 kilometers as only positive value are accepted" do
88
- expect(RunningOnRails::PaceConverter.new.from_kms_hour(-10)).to eql(2.778)
88
+ expect(PaceConverter.new.from_kms_hour(-10)).to eql(2.778)
89
89
  end
90
90
  end
91
91
 
92
92
  describe "revert convertion of 4 m/s" do
93
93
  before(:each) do
94
- @pace_converter = RunningOnRails::PaceConverter.new
94
+ @pace_converter = PaceConverter.new
95
95
  @pace_converter.from_meters_sec(4)
96
96
  end
97
97
 
@@ -119,7 +119,7 @@ describe RunningOnRails::PaceConverter do
119
119
 
120
120
  describe "revert convertion of 3.2 m/s" do
121
121
  before(:each) do
122
- @pace_converter = RunningOnRails::PaceConverter.new
122
+ @pace_converter = PaceConverter.new
123
123
  @pace_converter.from_meters_sec(3.2)
124
124
  end
125
125
 
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: running_on_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manzano Axel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-28 00:00:00.000000000 Z
11
+ date: 2014-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.0'
55
55
  description: Running On Rails gem provide some tools for running or cycling as pace
56
56
  converter, split calculator, training pace...
57
57
  email:
@@ -60,14 +60,15 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - ".gitignore"
64
- - ".rspec"
63
+ - .gitignore
64
+ - .rspec
65
65
  - Gemfile
66
66
  - LICENSE.txt
67
67
  - README.md
68
68
  - Rakefile
69
69
  - lib/ext/float.rb
70
70
  - lib/running_on_rails.rb
71
+ - lib/running_on_rails/pace_converter.rb
71
72
  - lib/running_on_rails/version.rb
72
73
  - running_on_rails.gemspec
73
74
  - spec/running_on_rails/pace_converter_spec.rb
@@ -83,12 +84,12 @@ require_paths:
83
84
  - lib
84
85
  required_ruby_version: !ruby/object:Gem::Requirement
85
86
  requirements:
86
- - - ">="
87
+ - - ! '>='
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
90
  required_rubygems_version: !ruby/object:Gem::Requirement
90
91
  requirements:
91
- - - ">="
92
+ - - ! '>='
92
93
  - !ruby/object:Gem::Version
93
94
  version: '0'
94
95
  requirements: []