view-cell 0.7.1 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e57db81e45fc3e232ce7afb041c20bb97bbac6a18fa506c298af0ba360a55ba5
4
- data.tar.gz: 6af3ceeb169cd80cbd4e920bde15a3c6f82f568e1167da4bc3e43d770e366dec
3
+ metadata.gz: 80756a6206f35db6572a7f3b9b1e6f2f568938d9aad1facb59d5b2e5e831a9c6
4
+ data.tar.gz: c3946f737f177144cd55ea01df9828e32bb15a1dea46eb13b08662de8550a2f9
5
5
  SHA512:
6
- metadata.gz: 9c24dd9399235abe966e5443f772135a7902f46c2130751a193f2ae50efa585cc0602c8488e1a89ad01ad3ebde145c1d709731c32fbed68d7832f763a3ccd101
7
- data.tar.gz: 6ca55a097a68220fcd0e4b7cd291e9da905dab3800eeed9d3399a298f835d2504cfa6eb27d10c5b2b90ab993dcfb05d109126f58e8505decb6d9f6970ab12045
6
+ metadata.gz: a416ba1cf76a8f7aa936fbe19c53d2d5b720b6cdd464313be8b66ac8696f780444b5dd22d9aabcf625ea009e78aa04f6b9fb2ca777eda64cdc58c5f77de30057
7
+ data.tar.gz: f020c3ba69304eba3d5da03188098532b8e7babae3995033eb90a7b170b105cb5853180aad642fd99373b2ba8764fe7803e7bb5126e187aa96d5096e66a066cf
data/.version CHANGED
@@ -1 +1 @@
1
- 0.7.1
1
+ 0.7.2
data/lib/adapters/view.rb CHANGED
@@ -1,14 +1,14 @@
1
- klass =
2
- if defined? ActionView::Base
3
- ActionView::Base
4
- elsif defined? HtmlHelper
5
- HtmlHelper
6
- end
1
+ if Object.const_defined?('ActionView::Base')
2
+ # Rails inject
3
+ ActionView::Base.include ViewCell::ProxyMethod
4
+
5
+ elsif Object.const_defined?('Lux::Template::Helper')
6
+ # Lux inject
7
+ Lux::Template::Helper.include ViewCell::ProxyMethod
8
+
9
+ elsif Object.const_defined?('Sinatra::Application')
10
+ # Sinatra inject
11
+ Sinatra::Application.include ViewCell::ProxyMethod
7
12
 
8
- if klass
9
- klass.class_eval do
10
- def cell *args
11
- ViewCell.cell self, *args
12
- end
13
- end
14
13
  end
14
+
data/lib/view-cell.rb CHANGED
@@ -3,3 +3,18 @@ require_relative 'view-cell/instance'
3
3
  require_relative 'view-cell/proxy'
4
4
 
5
5
  require_relative 'adapters/view'
6
+
7
+ # If inflectors are not present, inject them (thx Piotr)
8
+ for el in [:underscore, :classify, :constantize]
9
+ require 'dry/inflector'
10
+
11
+ unless ''.respond_to?(el)
12
+ eval %[
13
+ class String
14
+ def #{el}
15
+ Dry::Inflector.new.#{el}(self)
16
+ end
17
+ end
18
+ ]
19
+ end
20
+ end
@@ -30,7 +30,7 @@ class ViewCell
30
30
  # render template by name
31
31
  def render name
32
32
  template_root = self.class.template_root
33
- class_part = _underscore self.class.to_s.sub(/_cell$/, '')
33
+ class_part = self.class.to_s.underscore.sub(/_cell$/, '')
34
34
 
35
35
  if template_root
36
36
  name = [template_root, name].join '/'
@@ -70,17 +70,4 @@ class ViewCell
70
70
  def _development?
71
71
  ENV['RAILS_ENV'] == 'development' || ENV['RACK_ENV'] == 'development'
72
72
  end
73
-
74
- def _underscore text
75
- if text.respond_to?(:underscore)
76
- # use framework underscore if possible
77
- text.underscore
78
- else
79
- text.gsub(/::/, '/')
80
- .gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
81
- .gsub(/([a-z\d])([A-Z])/,'\1_\2')
82
- .tr("-", "_")
83
- .downcase
84
- end
85
- end
86
73
  end
@@ -10,4 +10,11 @@ class ViewCell
10
10
  ViewCell.get(@parent, cell_name, vars)
11
11
  end
12
12
  end
13
+
14
+ # adaptrer will inject this
15
+ module ProxyMethod
16
+ def cell *args
17
+ ViewCell.cell self, *args
18
+ end
19
+ end
13
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view-cell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dino Reic
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-inflector
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: Clean, simple explicit and strait-forward web view cell for use in Rails/Sinatra/Lux.
28
42
  email: reic.dino@gmail.com
29
43
  executables: []
@@ -55,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
69
  - !ruby/object:Gem::Version
56
70
  version: '0'
57
71
  requirements: []
58
- rubygems_version: 3.0.6
72
+ rubygems_version: 3.1.2
59
73
  signing_key:
60
74
  specification_version: 4
61
75
  summary: Simple to use web view cell