view-cell 0.8.1 → 0.8.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.
- checksums.yaml +4 -4
- data/.version +1 -1
- data/lib/view-cell/class.rb +26 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e824d4c0b1b36272bec26a314c40443dd2ff0aab2c9aa42f2d299ad9bb60932b
|
4
|
+
data.tar.gz: 9fdcfa09e93d5757ed33c52f9858fea668b13e1410be8a77ad36392fa482bbc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f74b643dcd73c2a576c932e9644cfbbe77426a2f501dcebb15c0323d332f363ce32121cacea0e6d0da0146d3516577028a32812785c25396b2cb1195f9fa2bc6
|
7
|
+
data.tar.gz: 60342055ac39181ed1240d04a8865e19bf748bb7da572e792dd6375bc65520169b8292e20aae9355035caf45fddb6ad28445e957e33f9485d6ea17547c4ecfc8
|
data/.version
CHANGED
data/lib/view-cell/class.rb
CHANGED
@@ -9,22 +9,46 @@ class ViewCell
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# delegate current scope methods to parent binding
|
12
|
+
# delegate :image_tag, :request, params
|
12
13
|
def delegate *list
|
13
14
|
list.each do |el|
|
14
15
|
define_method(el) { |*args, &block| parent.send(el, *args, &block) }
|
15
16
|
end
|
16
17
|
end
|
17
18
|
|
19
|
+
# = cell @users
|
20
|
+
# = cell @user
|
21
|
+
# = cell.user.render @user
|
22
|
+
# = cell(:user, user: @user).render
|
18
23
|
def cell parent, *args
|
19
24
|
if args.first
|
20
|
-
#
|
21
|
-
|
25
|
+
# covert to list of objects
|
26
|
+
unless [String, Symbol, Array].include?(args[0].class)
|
27
|
+
args[0] = [args.first]
|
28
|
+
end
|
29
|
+
|
30
|
+
out =
|
31
|
+
if args.first.class == Array
|
32
|
+
# cell @users
|
33
|
+
args.first.map do |object|
|
34
|
+
name = object.class.to_s.underscore.to_sym
|
35
|
+
ViewCell.get(parent, name).render object
|
36
|
+
end.join('')
|
37
|
+
else
|
38
|
+
# cell(:user, user: @user).profile
|
39
|
+
ViewCell.get parent, *args
|
40
|
+
end
|
41
|
+
|
42
|
+
out.respond_to?(:html_safe) ? out.html_safe : out
|
22
43
|
else
|
23
44
|
# cell.user.profile
|
24
45
|
ViewCell::Proxy.new(parent)
|
25
46
|
end
|
26
47
|
end
|
27
48
|
|
49
|
+
# can be called as a block or a method
|
50
|
+
# block do ...
|
51
|
+
# def block; super; ...
|
28
52
|
def before &block
|
29
53
|
define_method :before do
|
30
54
|
super() if self.class != ViewCell
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: view-cell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dino Reic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tilt
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
|
-
rubygems_version: 3.
|
72
|
+
rubygems_version: 3.0.6
|
73
73
|
signing_key:
|
74
74
|
specification_version: 4
|
75
75
|
summary: Simple to use web view cell
|