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.
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