closestfib 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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/closestfib.rb +15 -12
  3. data/test/test_closestfib.rb +1 -1
  4. metadata +54 -60
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
data/lib/closestfib.rb CHANGED
@@ -7,19 +7,19 @@ module ClosestFib
7
7
  class Error < RuntimeError
8
8
  end
9
9
 
10
- class Fibs
10
+ class Fibs
11
11
  @@fibs = [0,1]
12
12
 
13
13
  class << self
14
14
  def fib n
15
- if n > 1
16
- while @@fibs[n] == nil do
17
- next_fib
18
- end
19
- end
15
+ next_fib while ! @@fibs[n]
20
16
  @@fibs[n]
21
17
  end
22
18
 
19
+ def next_fib
20
+ @@fibs[@@fibs.length] = last_fib + prev_fib
21
+ end
22
+
23
23
  def last_fib
24
24
  @@fibs[@@fibs.length-1]
25
25
  end
@@ -28,20 +28,23 @@ module ClosestFib
28
28
  @@fibs[@@fibs.length-2]
29
29
  end
30
30
 
31
- def next_fib
32
- @@fibs[@@fibs.length] = prev_fib + last_fib
31
+ def all
32
+ @@fibs
33
+ end
34
+
35
+ def flush
36
+ @@fibs = [0,1]
33
37
  end
34
38
  end
35
39
  end
36
40
 
37
41
  def self.closestfib x
38
- raise(Error, "no fibonacci numbers are negative") if x <= 0
42
+ raise(Error, "no Fibonacci numbers are less than 0") if x <= 0
39
43
  n=0
40
- while (Fibs.fib n) < x do
41
- n += 1
42
- end
44
+ n+=1 while (Fibs.fib n) < x
43
45
  Fibs.fib n-1
44
46
  end
47
+
45
48
  end
46
49
 
47
50
  class Fixnum
@@ -10,7 +10,7 @@ class TestClosestFib < Test::Unit::TestCase
10
10
  assert_equal( 89, 99.closest_fibonacci )
11
11
  assert_equal( 956722026041, 956722026042.closest_fibonacci )
12
12
  ex = assert_raise(ClosestFib::Error) { 0.closest_fibonacci }
13
- assert_match( /no fibonacci numbers are negative/, ex.message )
13
+ assert_match( /no Fibonacci numbers are less than 0/, ex.message )
14
14
  end
15
15
  end
16
16
 
metadata CHANGED
@@ -1,82 +1,79 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: closestfib
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
4
5
  prerelease:
5
- version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Richard Nygord
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-09-10 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-16 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: shoulda
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2164646140 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *2164646140
25
+ - !ruby/object:Gem::Dependency
27
26
  name: bundler
28
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &2164645660 !ruby/object:Gem::Requirement
29
28
  none: false
30
- requirements:
29
+ requirements:
31
30
  - - ~>
32
- - !ruby/object:Gem::Version
31
+ - !ruby/object:Gem::Version
33
32
  version: 1.0.0
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *2164645660
36
+ - !ruby/object:Gem::Dependency
38
37
  name: jeweler
39
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &2164645180 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
40
+ requirements:
42
41
  - - ~>
43
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
44
43
  version: 1.6.4
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *2164645180
47
+ - !ruby/object:Gem::Dependency
49
48
  name: rcov
50
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &2164644700 !ruby/object:Gem::Requirement
51
50
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *2164644700
58
+ - !ruby/object:Gem::Dependency
60
59
  name: rdoc
61
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &2164644200 !ruby/object:Gem::Requirement
62
61
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: "0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *id005
68
+ version_requirements: *2164644200
70
69
  description: Adds closest_fibonacci to Fixnum and Bignum
71
70
  email: rvnygord@yahoo.com
72
71
  executables: []
73
-
74
72
  extensions: []
75
-
76
- extra_rdoc_files:
73
+ extra_rdoc_files:
77
74
  - LICENSE.txt
78
75
  - README.rdoc
79
- files:
76
+ files:
80
77
  - .document
81
78
  - Gemfile
82
79
  - LICENSE.txt
@@ -87,34 +84,31 @@ files:
87
84
  - test/helper.rb
88
85
  - test/test_closestfib.rb
89
86
  homepage: http://github.com/RichNygord/closestfib
90
- licenses:
87
+ licenses:
91
88
  - MIT
92
89
  post_install_message:
93
90
  rdoc_options: []
94
-
95
- require_paths:
91
+ require_paths:
96
92
  - lib
97
- required_ruby_version: !ruby/object:Gem::Requirement
93
+ required_ruby_version: !ruby/object:Gem::Requirement
98
94
  none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- hash: 314006893
103
- segments:
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ segments:
104
100
  - 0
105
- version: "0"
106
- required_rubygems_version: !ruby/object:Gem::Requirement
101
+ hash: 369767982031233074
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
103
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: "0"
104
+ requirements:
105
+ - - ! '>='
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
112
108
  requirements: []
113
-
114
109
  rubyforge_project:
115
- rubygems_version: 1.8.10
110
+ rubygems_version: 1.8.11
116
111
  signing_key:
117
112
  specification_version: 3
118
113
  summary: Finds the closest fibonacci < n
119
114
  test_files: []
120
-