call_with_params 0.0.1 → 0.0.2
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/README.rdoc +11 -10
- data/VERSION +1 -1
- data/call_with_params.gemspec +2 -2
- data/lib/call_with_params.rb +1 -1
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -4,19 +4,19 @@ Call a Proc with an arbitrary number of params. The Proc will only be passed the
|
|
4
4
|
|
5
5
|
== Installation
|
6
6
|
Add the following to your Gemfile:
|
7
|
-
gem '
|
7
|
+
gem 'call_with_params'
|
8
8
|
|
9
|
-
|
10
|
-
include
|
9
|
+
CallWithParams can be mixed into any class by adding a line:
|
10
|
+
include CallWithParams
|
11
11
|
|
12
|
-
It is likely you will want to include
|
13
|
-
ActionView::Base.send :include,
|
12
|
+
It is likely you will want to include CallWithParams in your views. This can best be accomplished by adding in an initializer:
|
13
|
+
ActionView::Base.send :include, CallWithParams
|
14
14
|
|
15
15
|
== Sample Usage
|
16
16
|
The best place to demonstrate the usage for CallWithParams is in the view:
|
17
17
|
link_to "My URL", call_with_params(my_url, user)
|
18
18
|
|
19
|
-
If
|
19
|
+
If "my_url" is not a Proc, the link will simply be the specified "my_url" param. However, if it is a Proc, it will call that Proc with any additional params passed into the call_with_params method.
|
20
20
|
|
21
21
|
Suppose, for example, that my_url is a locally defined Proc, such as:
|
22
22
|
<% my_url = Proc.new {|user| admin_user_path(user) } %>
|
@@ -32,12 +32,13 @@ Notice the Proc only takes the first two arguments that are passed in.
|
|
32
32
|
Additionally, there is another method in CallWithParams called call_each_hash_value_with_params which can take hash of Procs, and invoke each Procs with the additional params passed into the call_each_hash_value_with_params method.
|
33
33
|
|
34
34
|
For example:
|
35
|
-
<%= content_tag :tr, call_each_hash_value_with_params(:id => Proc.new {|user| "user-#{user.id}"},
|
35
|
+
<%= content_tag :tr, call_each_hash_value_with_params({:id => Proc.new {|user| "user-#{user.id}"},
|
36
|
+
:class => Proc.new { cycle("even", "odd") }}, user) %>
|
36
37
|
|
37
38
|
Any hash values that are not Procs will not be evaluated as Procs:
|
38
|
-
<%= content_tag :tr, call_each_hash_value_with_params(:id => Proc.new {|user| "user-#{user.id}"},
|
39
|
-
|
40
|
-
|
39
|
+
<%= content_tag :tr, call_each_hash_value_with_params({:id => Proc.new {|user| "user-#{user.id}"},
|
40
|
+
:class => Proc.new { cycle("even", "odd") },
|
41
|
+
:style => "color: red" }, user) %>
|
41
42
|
|
42
43
|
== Contributing to call_with_params
|
43
44
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/call_with_params.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "call_with_params"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Andrew Hunter"]
|
12
|
-
s.date = "2013-
|
12
|
+
s.date = "2013-11-04"
|
13
13
|
s.description = "Call a Proc with an arbitrary number of params. The Proc will only be passed the number of arguments that it takes."
|
14
14
|
s.email = "hunterae@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/call_with_params.rb
CHANGED
@@ -12,7 +12,7 @@ module CallWithParams
|
|
12
12
|
if options.is_a?(Proc)
|
13
13
|
call_with_params(options, *args)
|
14
14
|
else
|
15
|
-
options.inject(
|
15
|
+
options.inject(HashWithIndifferentAccess.new) { |hash, (k, v)| hash[k] = call_with_params(v, *args); hash}
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: call_with_params
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -160,7 +160,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
160
160
|
version: '0'
|
161
161
|
segments:
|
162
162
|
- 0
|
163
|
-
hash:
|
163
|
+
hash: 1676391244959728215
|
164
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
165
|
none: false
|
166
166
|
requirements:
|