preact-rails 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: afe12265d3fa306fbd4ff138cfc79dadf825cf24
4
+ data.tar.gz: 9cd63bc18829e60e06b22928efad7fcbd3bdf7b9
5
+ SHA512:
6
+ metadata.gz: e44c5373b08dd5b60bc848046cf2c559ab2179b66245574f03b6113381c0b3c0fb41ec63973927e3def73a6e07d2eb3fb88711f2489b1057795f5c2223188a60
7
+ data.tar.gz: bfcd5c97e41cbfb2779d5746aa975fca4b8c9fe88ba0009c16d03b889935f1063c4796b858a84e170d5baefb3650d82805db773f27470473b55f89f03a6efb60
@@ -0,0 +1,2 @@
1
+ require 'preact/view_helper'
2
+ require 'preact/railtie'
@@ -0,0 +1,7 @@
1
+ class Railtie < Rails::Railtie
2
+ initializer 'preact_rails.setup_view_helpers', after: :load_config_initializers, group: :all do |app|
3
+ ActiveSupport.on_load(:action_view) do
4
+ include ViewHelper
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,11 @@
1
+ module ViewHelper
2
+ def preact_component(name, props = {}, options = {}, &block)
3
+ html_options = options.reverse_merge(:data => {})
4
+ html_options[:data].tap do |data|
5
+ data[:preact_class] = name
6
+ data[:preact_props] = (props.is_a?(String) ? props : props.to_json)
7
+ end
8
+
9
+ return content_tag(:div, '', html_options, &block)
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,77 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: preact-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.18
5
+ platform: ruby
6
+ authors:
7
+ - Ishuah Kariuki
8
+ - David Kutalek
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2019-05-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '3.2'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '3.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: railties
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '3.2'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '3.2'
42
+ description: Render preact components in views or controller actions.
43
+ email:
44
+ - kariuki@ishuah.com
45
+ - dav.kutalek@gmail.com
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - lib/preact-rails.rb
51
+ - lib/preact/railtie.rb
52
+ - lib/preact/view_helper.rb
53
+ homepage: https://rubygems.org/gems/preact-rails
54
+ licenses:
55
+ - Apache-2.0
56
+ metadata: {}
57
+ post_install_message:
58
+ rdoc_options: []
59
+ require_paths:
60
+ - lib
61
+ required_ruby_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ requirements: []
72
+ rubyforge_project:
73
+ rubygems_version: 2.6.12
74
+ signing_key:
75
+ specification_version: 4
76
+ summary: Preact integration for Ruby on Rails
77
+ test_files: []