happy_place 0.0.5 → 0.0.6
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 +4 -4
- data/README.md +5 -1
- data/lib/happy_place/controller.rb +17 -8
- data/lib/happy_place/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 699c95a15b39dc929671551c1579537fae0b811a
|
4
|
+
data.tar.gz: 4c3226374364afb61ccaa75d5f64e19c06593dae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dbee823d359531914b2d98058d021deba71467cdfd359d847b700d9775ab6bab372bf2b5bb62d10c5dd66c8c79712755bef6323073ae023ba1cac2011287c687
|
7
|
+
data.tar.gz: e9cc999efbab6d768e327747c787ecb4632c71e100b1d465ab5d9de1255f62752930004e1932549369f6f3f38730b96c0a93bba796160ec77f4a8d423c0d3ab1
|
data/README.md
CHANGED
@@ -33,6 +33,10 @@ Or install it yourself as:
|
|
33
33
|
|
34
34
|
$ gem install happy_place
|
35
35
|
|
36
|
+
## Demo
|
37
|
+
|
38
|
+
If you would like to see happy_place in action check out [happy-place-demo](https://happy-place-demo.herokuapp.com/dashboard).
|
39
|
+
|
36
40
|
## Features
|
37
41
|
happy_place adds a js method to your controller.
|
38
42
|
|
@@ -169,7 +173,7 @@ Or require them explicitly:
|
|
169
173
|
|
170
174
|
### Stop using js views after remote actions!
|
171
175
|
|
172
|
-
|
176
|
+
Let's say you have a blog where you can see a list of posts (Imagine that!). You use the Posts#index to display this and it is loaded normally with :html.
|
173
177
|
|
174
178
|
```html
|
175
179
|
<!-- posts/index.html.erb -->
|
@@ -13,21 +13,26 @@ module HappyPlace
|
|
13
13
|
# end
|
14
14
|
|
15
15
|
# instance methods to go on every controller go here
|
16
|
-
def js(js_class: nil, function: nil, partials: {}, args: {})
|
16
|
+
def js(js_class: nil, function: nil, partials: {}, args: {}, container: {}, rendered: false)
|
17
17
|
class_and_function = build_class_and_function(js_class, function)
|
18
18
|
built_args = build_args(partials, args)
|
19
19
|
case request.format.to_sym
|
20
20
|
when :js
|
21
21
|
render js: class_and_function + built_args
|
22
22
|
when :html
|
23
|
-
render
|
23
|
+
render unless rendered
|
24
|
+
|
24
25
|
response_body = response.body
|
25
|
-
|
26
|
+
if response_body.present?
|
27
|
+
before_body_end_index = response_body.rindex('</body>')
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
+
before_body = response_body[0, before_body_end_index].html_safe
|
30
|
+
after_body = response_body[before_body_end_index..-1].html_safe
|
29
31
|
|
30
|
-
|
32
|
+
response.body = before_body + auto_exec_function(class_and_function, built_args).html_safe + after_body
|
33
|
+
else
|
34
|
+
response.body = auto_exec_function(class_and_function, built_args.gsub("\n", ""), container).html_safe
|
35
|
+
end
|
31
36
|
end
|
32
37
|
end
|
33
38
|
|
@@ -47,8 +52,12 @@ module HappyPlace
|
|
47
52
|
end
|
48
53
|
end
|
49
54
|
|
50
|
-
def auto_exec_function(class_and_function, args)
|
51
|
-
"<script type='application/javascript'>jQuery(document).ready(function($) {" + render_to_string(js: class_and_function + args) + "});</script>"
|
55
|
+
def auto_exec_function(class_and_function, args, container)
|
56
|
+
script_string = "<script type='application/javascript'>jQuery(document).ready(function($) {" + render_to_string(js: class_and_function + args) + "});</script>"
|
57
|
+
if container.present?
|
58
|
+
script_string = container[:open] + script_string + container[:close]
|
59
|
+
end
|
60
|
+
script_string
|
52
61
|
end
|
53
62
|
|
54
63
|
def hash_to_js_args(args)
|
data/lib/happy_place/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: happy_place
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Piccolo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|