view-cell 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -1
  3. data/lib/view-cell/class.rb +26 -2
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddef51affd6bcedf0ce6f86419a5f17cadcd5080bd1173d879deed77c1821868
4
- data.tar.gz: 5b89bac05cf3ffce870d999965b325f0df222ff37f53ea96860696bc184bf017
3
+ metadata.gz: e824d4c0b1b36272bec26a314c40443dd2ff0aab2c9aa42f2d299ad9bb60932b
4
+ data.tar.gz: 9fdcfa09e93d5757ed33c52f9858fea668b13e1410be8a77ad36392fa482bbc9
5
5
  SHA512:
6
- metadata.gz: 803efa74181ff96dfa1254af724c9ca933c519572bc4ef1c5159721b6e766cc7d98804e8b40ea433885ea3c9fc3e874154e06e16c03da529bd8ce93e847624b0
7
- data.tar.gz: 51438134607c9aad7c59badc36a39b6960d58011de0c6afa2a35c57926ea740bc742e14fe30b22f7dbf898dfb65c5a5a636a31a9a3339e7219bd4909b2df516b
6
+ metadata.gz: f74b643dcd73c2a576c932e9644cfbbe77426a2f501dcebb15c0323d332f363ce32121cacea0e6d0da0146d3516577028a32812785c25396b2cb1195f9fa2bc6
7
+ data.tar.gz: 60342055ac39181ed1240d04a8865e19bf748bb7da572e792dd6375bc65520169b8292e20aae9355035caf45fddb6ad28445e957e33f9485d6ea17547c4ecfc8
data/.version CHANGED
@@ -1,3 +1,3 @@
1
- 0.8.1
1
+ 0.8.2
2
2
 
3
3
 
@@ -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
- # cell(:user, user: @user).profile
21
- ViewCell.get(parent, *args)
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.1
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-12 00:00:00.000000000 Z
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.1.2
72
+ rubygems_version: 3.0.6
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: Simple to use web view cell