to_fib 1.0.2 → 1.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,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 083c42b40b5a84a300f1805f27192f4cec1a1b8c
4
- data.tar.gz: 2905e77e7b39292fa49bbebcb4bd7b92c3111ec5
3
+ metadata.gz: 68fe92bdc20ac73c0a87d34ada2fb28d511f4336
4
+ data.tar.gz: f2d8180fdfecec055d4d956b50dc1ee921b4b353
5
5
  SHA512:
6
- metadata.gz: 798a8277094602efb867fb974c4eaa2f5c46ed0eafbb38885924a516a9654774c7e6b20f7f79cbadeacba9ebac01ec2021332da9f92c780e57836f3126e8f39f
7
- data.tar.gz: 3c279920702b38aa0b57afb56ae50ad2fe2c963107ab982f3601255ee8be3b09837e81eac228b6fa30d4e85d989f063e8730d0ba66d3988ea7934a4776fd7ae4
6
+ metadata.gz: d906e01d5bec7ed770c97a8a9559593e4b38ca61cb2156eae06a9abb72ab4181aae95d116b08df1a9cd24a9842358f42c4796330fc9c1363d698372ae28efbc1
7
+ data.tar.gz: a306523775605f49882a3d0b6e1c6eb7387178fa9e904fd32ade957ca5a211189d2219268e28b1a0ea1959cb2b354f4e35d43a9c047dc008d1811cf9b910cb7d
data/lib/to_fib/to_fib.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  module ToFib
2
2
  module ObjectExtension
3
3
  def to_fib
4
- f, neg = fibonacci(self.abs), []
4
+ list, nega_list = fibonacci(self.abs), []
5
5
  if self < 0
6
- f.each_with_index {|i, index| neg << -i if index.even?}
7
- f = neg
6
+ list.each_with_index {|fib, index| nega_list << -fib if index.even?}
7
+ list = nega_list
8
8
  end
9
- f.reverse_each.take(2).min {|a, b| (self-a).abs <=> (self-b).abs}
9
+ list.reverse_each.take(2).min {|a, b| (self-a).abs <=> (self-b).abs}
10
10
  end
11
11
 
12
12
  def is_fib?
@@ -17,13 +17,12 @@ module ToFib
17
17
 
18
18
  def fibonacci(max=Float::INFINITY)
19
19
  return to_enum(__method__, max) unless block_given?
20
- yield previous = 0
21
- while (i ||= 1) <= max
22
- yield i
23
- i, previous = previous + i, i
20
+ yield previous_fib = 0
21
+ while (fib ||= 1) <= max
22
+ yield fib
23
+ fib, previous_fib = previous_fib + fib, fib
24
24
  end
25
- yield i
26
- previous
25
+ yield fib
27
26
  end
28
27
 
29
28
  end
@@ -2,7 +2,7 @@ module ToFib
2
2
  class Version
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 2
5
+ PATCH = 3
6
6
  PRE = nil
7
7
 
8
8
  class << self
data/test/test_to_fib.rb CHANGED
@@ -11,7 +11,7 @@ class TestToFib < BaseTest
11
11
  end
12
12
 
13
13
  def test_20
14
- assert_equal 21, 21.to_fib
14
+ assert_equal 21, 20.to_fib
15
15
  end
16
16
 
17
17
  def test_40
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: to_fib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave De Carlo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-21 00:00:00.000000000 Z
11
+ date: 2015-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler