view-cell 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
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