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.
- data/VERSION +1 -1
- data/lib/closestfib.rb +15 -12
- data/test/test_closestfib.rb +1 -1
- metadata +54 -60
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
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
|
-
|
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
|
32
|
-
@@fibs
|
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
|
42
|
+
raise(Error, "no Fibonacci numbers are less than 0") if x <= 0
|
39
43
|
n=0
|
40
|
-
while (Fibs.fib n) < x
|
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
|
data/test/test_closestfib.rb
CHANGED
@@ -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
|
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
|
-
|
14
|
-
|
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: &
|
16
|
+
requirement: &2164646140 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
23
22
|
type: :development
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *2164646140
|
25
|
+
- !ruby/object:Gem::Dependency
|
27
26
|
name: bundler
|
28
|
-
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: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *2164645660
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
name: jeweler
|
39
|
-
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: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *2164645180
|
47
|
+
- !ruby/object:Gem::Dependency
|
49
48
|
name: rcov
|
50
|
-
requirement: &
|
49
|
+
requirement: &2164644700 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *2164644700
|
58
|
+
- !ruby/object:Gem::Dependency
|
60
59
|
name: rdoc
|
61
|
-
requirement: &
|
60
|
+
requirement: &2164644200 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version:
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
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
|
-
|
103
|
-
segments:
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
segments:
|
104
100
|
- 0
|
105
|
-
|
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:
|
104
|
+
requirements:
|
105
|
+
- - ! '>='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
112
108
|
requirements: []
|
113
|
-
|
114
109
|
rubyforge_project:
|
115
|
-
rubygems_version: 1.8.
|
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
|
-
|