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.
@@ -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], [:req, :b], [:rest, :c], [:block, :d]]
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 pp[0] == :req or pp[0] == :rest
57
+ if [:req, :rest, :opt].include? pp[0]
56
58
  pp[1]
57
59
  end
58
60
  end.compact
@@ -1,3 +1,3 @@
1
1
  module Memor
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -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.1.1
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-03-21 00:00:00.000000000Z
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: &9713970 !ruby/object:Gem::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: *9713970
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: &9713750 !ruby/object:Gem::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: *9713750
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: &9713530 !ruby/object:Gem::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: *9713530
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.15
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: