to_fib 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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