etw_math 1.1.0 → 1.2.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/example.rb +4 -0
  3. data/lib/etw_math.rb +21 -1
  4. data/test.rb +10 -0
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20deadb5cf831be70936304753c265e4522e20ca041bd2ebdd31f121aa40faf1
4
- data.tar.gz: 1e96e0b936a0547e4fe8d054b31097d017a2ca8a1bbe045f68d7a1dcc6733674
3
+ metadata.gz: 2a6bc32aa40fd9881fd07c4504ec0ec8bd62391395216c6bdae1d63ae3f67a88
4
+ data.tar.gz: fd2bde9416a952dca7fed4b0e492db218d8b8ad4252e81ba0ea25bcc3b86f353
5
5
  SHA512:
6
- metadata.gz: f9b14a2044d690064e31e6b4eca0f12e681f94bf0e32f01a515872645faea5f4839576170b354989e4f313875317a278bbad23bb6c3cd18d1734b85ab91fd755
7
- data.tar.gz: ef7c626db1ea858c2edf414ea53fa6ec886f09a1cd25168b84b74325a9bd78c9bdbfad776ff2388e3ed012346fe7e9724bf5a1ac47cec47bf3c695a511cc201a
6
+ metadata.gz: 42cbf495e7ec47ba887ae8c002ac554881b99abeca3f10121fb85693271887ce9e36119f748afbded820bff94d04bdaad2f2b0da373e7774cc47030d25a508d8
7
+ data.tar.gz: b34240e9f07ecb3cb8ac77eb97773b94b695893220c0e2b339eede77a19ee7180dd91cbdffb2636b87e3fd5b6d9ef2ced443d4e1286a8677d1a8f05d8ca36774
data/example.rb CHANGED
@@ -53,6 +53,10 @@ puts "\nActual size level for a max size of 509,999 is:"
53
53
  puts EtwMath.actual_level_at_size(509999)
54
54
  puts "\nNearest size level for a max size of 510,999 is:"
55
55
  puts EtwMath.nearest_level_at_size(510999)
56
+ puts "\nEat speed level for an eat speed value of 5.4:"
57
+ puts EtwMath.eat_speed_level(5.4)
58
+ puts "\nEat speed value for an eat speed level of 23:"
59
+ puts EtwMath.eat_speed_value(23)
56
60
  puts "\nOptimal size level for a multi of 100 using a factor of 5.5 is:"
57
61
  puts EtwMath.optimal_size_level_threshold(100, 5.5)
58
62
  puts "\nOptimal multi for a size level of 550 using a ratio of 5.5 is:"
data/lib/etw_math.rb CHANGED
@@ -28,7 +28,7 @@
28
28
  # This class contains various methods that perform Eat the World calculations
29
29
  class EtwMath
30
30
  # EtwMath version
31
- VERSION = "1.1.0"
31
+ VERSION = "1.2.0"
32
32
 
33
33
  # Number of seconds in 1 day
34
34
  SECONDS_PER_DAY = 86400
@@ -216,6 +216,26 @@ class EtwMath
216
216
  end
217
217
  end
218
218
 
219
+ # Calculates eat speed value
220
+ # @param eat_speed_level [Integer] Eat speed level
221
+ # @return [String, Boolean] String representation of a float or false if input is invalid
222
+ # @example
223
+ # EtwMath.eat_speed_value(31) # 7.0
224
+ def self.eat_speed_value(eat_speed_level)
225
+ return false if !input_valid?(eat_speed_level)
226
+ format_number(0.2 * eat_speed_level + 0.8, true)
227
+ end
228
+
229
+ # Calculates eat speed level
230
+ # @param eat_speed_value [Float] Eat speed value
231
+ # @return [String, Boolean] String representation of an integer or false if input is invalid
232
+ # @example
233
+ # EtwMath.eat_speed_level(7.0) # 31
234
+ def self.eat_speed_level(eat_speed_value)
235
+ return false if !input_valid?(eat_speed_value)
236
+ format_number(5 * eat_speed_value - 4)
237
+ end
238
+
219
239
  # Calculates optimal size level threshold
220
240
  # @param multi [Integer] Multiplier level
221
241
  # @param ratio [Numeric] Ratio
data/test.rb CHANGED
@@ -116,6 +116,16 @@ class EtwMathTests < Minitest::Test
116
116
  assert(!EtwMath.nearest_level_at_size(-1))
117
117
  end
118
118
 
119
+ def test_eat_speed_value
120
+ assert_equal("5.4", EtwMath.eat_speed_value(23))
121
+ assert(!EtwMath.eat_speed_value(-1))
122
+ end
123
+
124
+ def test_eat_speed_level
125
+ assert_equal("23", EtwMath.eat_speed_level(5.4))
126
+ assert(!EtwMath.eat_speed_level(-1))
127
+ end
128
+
119
129
  def test_optimal_size_level_threshold
120
130
  assert_equal("550", EtwMath.optimal_size_level_threshold(100, 5.5))
121
131
  assert(!EtwMath.optimal_size_level_threshold(-1, -1))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etw_math
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lazy Villain