memor 0.1.1 → 0.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.
- data/lib/memor.rb +4 -2
- data/lib/memor/version.rb +1 -1
- data/spec/lib/memor_spec.rb +17 -0
- metadata +25 -12
data/lib/memor.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'memor/version'
|
2
|
+
require 'ruby-debug'
|
2
3
|
|
3
4
|
module Memor
|
4
5
|
|
@@ -50,9 +51,10 @@ private
|
|
50
51
|
end
|
51
52
|
|
52
53
|
def _memor_arg_names(memor_method)
|
53
|
-
# parameters is like [[:req, :a], [:
|
54
|
+
# parameters is like [[:req, :a], [:opt, :b], [:rest, :c], [:block, :d]]
|
55
|
+
|
54
56
|
value_parameters = memor_method.parameters.map do |pp|
|
55
|
-
if
|
57
|
+
if [:req, :rest, :opt].include? pp[0]
|
56
58
|
pp[1]
|
57
59
|
end
|
58
60
|
end.compact
|
data/lib/memor/version.rb
CHANGED
data/spec/lib/memor_spec.rb
CHANGED
@@ -58,6 +58,14 @@ describe Memor do
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
+
def with_args4(a = 1)
|
62
|
+
memor binding do
|
63
|
+
slow_method
|
64
|
+
|
65
|
+
a
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
61
69
|
def query?
|
62
70
|
memor binding do
|
63
71
|
slow_method
|
@@ -113,6 +121,15 @@ describe Memor do
|
|
113
121
|
foo.slows.should == 2
|
114
122
|
end
|
115
123
|
|
124
|
+
it 'default value args' do
|
125
|
+
foo.with_args4(1).should == 1
|
126
|
+
foo.with_args4(1).should == 1
|
127
|
+
foo.with_args4(2).should == 2
|
128
|
+
foo.with_args4(2).should == 2
|
129
|
+
|
130
|
+
foo.slows.should == 2
|
131
|
+
end
|
132
|
+
|
116
133
|
it '! in method name' do
|
117
134
|
foo.bang!.should == 'slow'
|
118
135
|
foo.bang!.should == 'slow'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: guard-rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: ruby-debug19
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,7 +53,12 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
description: memoize function without alias method chain
|
48
63
|
email:
|
49
64
|
- Aaron2Ti@gmail.com
|
@@ -83,11 +98,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
83
98
|
version: '0'
|
84
99
|
requirements: []
|
85
100
|
rubyforge_project: memor
|
86
|
-
rubygems_version: 1.8.
|
101
|
+
rubygems_version: 1.8.24
|
87
102
|
signing_key:
|
88
103
|
specification_version: 3
|
89
104
|
summary: simple memoize function without alias method chain
|
90
|
-
test_files:
|
91
|
-
- spec/lib/memor_spec.rb
|
92
|
-
- spec/spec_helper.rb
|
105
|
+
test_files: []
|
93
106
|
has_rdoc:
|