speedify 0.1.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/lib/speedify.rb +45 -0
- metadata +40 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cd062e0685144b75d1010a8df6b0ced31f0feb3c3d63ebd5e9ff73731b4b9b90
|
4
|
+
data.tar.gz: 1b376d7ed8c1d3eb12a5f20d1f5dcae059aef0e271f102db16eecff90cf8f474
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7d17fcfbe9c6fed25c112327da3b2c0ac426c0377477acbb1764f6d029f6e605aae5b42b2ae4e0e50bf4ccf64ce92df067f391842a2c8bd675634eaeebaf2ccd
|
7
|
+
data.tar.gz: 8c2fcfa09e583078aa49ce80874826ffb4127e492abe9d3a17cd4b7fe08dcf29c2c6a05f60131ec1b6103d4428df6f152174910f64a70f8982fd13730f1e25d4
|
data/lib/speedify.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
class Speedify
|
2
|
+
# Convert speed from km/h to m/s
|
3
|
+
def self.speed_to_mps(speed_kmh)
|
4
|
+
(speed_kmh * 1000.0) / 3600.0
|
5
|
+
end
|
6
|
+
|
7
|
+
# Convert speed from m/s to km/h
|
8
|
+
def self.speed_to_kmh(speed_mps)
|
9
|
+
(speed_mps * 3600.0) / 1000.0
|
10
|
+
end
|
11
|
+
|
12
|
+
#Calculate time given distance (in km) and speed(in km/h)
|
13
|
+
def self.time_for_distance(distance_km, speed_kmh)
|
14
|
+
raise ArgumentError, "Speed must be greater than zero(0)" if speed_kmh <= 0
|
15
|
+
|
16
|
+
time_hours = distance_km / speed_kmh
|
17
|
+
convert_hours_to_time_format(time_hours)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Calculate distance given speed time (in km/h) and time (in hours)
|
21
|
+
def self.distance_for_time(time_hours, speed_kmh)
|
22
|
+
raise ArgumentError, "Speed must be greater than zero(0)" if speed_kmh <= 0
|
23
|
+
|
24
|
+
time_hours * speed_kmh
|
25
|
+
end
|
26
|
+
|
27
|
+
# Calculate speed given distance (in km) and time (in hours)
|
28
|
+
def self.speed_for_distance_and_time(distance_km, time_hours)
|
29
|
+
raise ArgumentError, "Time must be greater than Zero(0)" if time_hours <= 0
|
30
|
+
|
31
|
+
distance_km / time_hours
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
# Convert fractional hours to time
|
37
|
+
def self.convert_hours_to_time_format(hours)
|
38
|
+
total_seconds = (hours * 3600).to_i
|
39
|
+
hh = total_seconds / 3600
|
40
|
+
mm = (total_seconds % 3600) / 60
|
41
|
+
ss = total_seconds % 60
|
42
|
+
|
43
|
+
format("%02d:%02d:%02d", hh, mm, ss)
|
44
|
+
end
|
45
|
+
end
|
metadata
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: speedify
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Xessive Observer
|
8
|
+
bindir: bin
|
9
|
+
cert_chain: []
|
10
|
+
date: 2025-01-22 00:00:00.000000000 Z
|
11
|
+
dependencies: []
|
12
|
+
email: xessiveobserver@gmail.com
|
13
|
+
executables: []
|
14
|
+
extensions: []
|
15
|
+
extra_rdoc_files: []
|
16
|
+
files:
|
17
|
+
- lib/speedify.rb
|
18
|
+
homepage: https://rubygems.org/gems/speedify
|
19
|
+
licenses:
|
20
|
+
- MIT
|
21
|
+
metadata:
|
22
|
+
source_code_url: https://github.com/XessiveObserver/speedify
|
23
|
+
rdoc_options: []
|
24
|
+
require_paths:
|
25
|
+
- lib
|
26
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
27
|
+
requirements:
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
requirements: []
|
37
|
+
rubygems_version: 3.6.3
|
38
|
+
specification_version: 4
|
39
|
+
summary: Aids in distance, speed and time conversions
|
40
|
+
test_files: []
|