before_renders 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4cb56119b0278105458581dbc11d112bd61deee1
4
+ data.tar.gz: ff5e2596bee0a442fe5377c2d947e83c617151f5
5
+ SHA512:
6
+ metadata.gz: 3dd1e730f79a9de9baf929f744c7b309293a01c55131a0da7afbd88986b44f6a6ecd074c5af6e34a0f794126a111005fecbfaba61667818ec207d5b9c626e04d
7
+ data.tar.gz: 510ac55c1f2e901e13dda1fc9d683a2e06c979814b729f74a33a3b3e139266d5f2ab151fd1604109e511916b5fd9a351a848548d73a45fe8c0ff60284bee562d
@@ -0,0 +1,38 @@
1
+ module BeforeRender
2
+ extend ActiveSupport::Concern
3
+
4
+ included do
5
+ alias_method_chain :render, :before_render_action
6
+ define_callbacks :render
7
+ end
8
+
9
+ def render_with_before_render_action(*options, &block)
10
+ run_callbacks :render do
11
+ render_without_before_render_action *options, &block
12
+ end
13
+ end
14
+
15
+ module ClassMethods
16
+ def append_before_render_action(*names, &block)
17
+ _insert_callbacks(names, block) do |name, options|
18
+ set_callback :render, :before, name, options
19
+ end
20
+ end
21
+
22
+ def prepend_before_render_action(*names, &block)
23
+ _insert_callbacks(names, block) do |name, options|
24
+ set_callback :render, :before, name, options.merge(:prepend => true)
25
+ end
26
+ end
27
+
28
+ def skip_before_render_action(*names, &block)
29
+ _insert_callbacks(names, block) do |name, options|
30
+ skip_callback :render, :before, name, options
31
+ end
32
+ end
33
+
34
+ alias_method :before_render, :append_before_render_action
35
+ alias_method :prepend_before_render, :prepend_before_render_action
36
+ alias_method :skip_before_render, :skip_before_render_action
37
+ end
38
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: before_renders
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yakob Ubaidi
8
+ - Francois Deschenes
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-01-18 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description:
15
+ email: yakob.ubaidi@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - app/controllers/concerns/before_render.rb
21
+ homepage:
22
+ licenses: []
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - app
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.6.10
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: before and after filter isn't enough ? Try before render.
44
+ test_files: []