prawnto 0.0.5 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -1,20 +1,44 @@
|
|
1
|
+
require "prawnto/available_features"
|
2
|
+
|
1
3
|
module Prawnto
|
2
4
|
module ActionControllerMixin
|
5
|
+
DEFAULT_PRAWNTO_OPTIONS = {:inline => true}
|
3
6
|
|
4
|
-
DEFAULT_PRAWNTO_OPTIONS = {:inline=>true}
|
5
|
-
|
6
7
|
def self.included(base)
|
7
8
|
base.extend ClassMethods
|
8
9
|
end
|
9
10
|
|
10
11
|
module ClassMethods
|
12
|
+
if class_attribute_supported?
|
13
|
+
def self.extended(cls)
|
14
|
+
cls.send(:class_attribute, :prawn_options)
|
15
|
+
cls.send(:class_attribute, :prawnto_options)
|
16
|
+
end
|
17
|
+
else
|
18
|
+
def prawn_options=(options)
|
19
|
+
write_inheritable_hash(:prawn_options, options)
|
20
|
+
end
|
21
|
+
|
22
|
+
def prawn_options
|
23
|
+
read_inheritable_attribute(:prawn_options)
|
24
|
+
end
|
25
|
+
|
26
|
+
def prawnto_options=(options)
|
27
|
+
write_inheritable_hash(:prawnto_options, options)
|
28
|
+
end
|
29
|
+
|
30
|
+
def prawnto_options
|
31
|
+
read_inheritable_attribute(:prawnto_options)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
11
35
|
def prawnto(options)
|
12
36
|
prawn_options, prawnto_options = breakdown_prawnto_options options
|
13
|
-
|
14
|
-
|
37
|
+
self.prawn_options = prawn_options
|
38
|
+
self.prawnto_options = prawnto_options
|
15
39
|
end
|
16
|
-
|
17
|
-
|
40
|
+
|
41
|
+
private
|
18
42
|
|
19
43
|
def breakdown_prawnto_options(options)
|
20
44
|
prawnto_options = options.dup
|
@@ -28,17 +52,15 @@ module Prawnto
|
|
28
52
|
@prawnto_options.merge! options
|
29
53
|
end
|
30
54
|
|
31
|
-
|
32
|
-
private
|
55
|
+
private
|
33
56
|
|
34
57
|
def compute_prawnto_options
|
35
58
|
@prawnto_options ||= DEFAULT_PRAWNTO_OPTIONS.dup
|
36
59
|
@prawnto_options[:prawn] ||= {}
|
37
|
-
@prawnto_options[:prawn].merge!(self.class.
|
38
|
-
@prawnto_options.merge!(self.class.
|
60
|
+
@prawnto_options[:prawn].merge!(self.class.prawn_options || {}) { |k, o, n| o }
|
61
|
+
@prawnto_options.merge!(self.class.prawnto_options || {}) { |k, o, n| o }
|
39
62
|
@prawnto_options
|
40
63
|
end
|
41
|
-
|
42
64
|
end
|
43
65
|
end
|
44
66
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
unless defined? ::Rails::VERSION
|
2
|
+
module Rails
|
3
|
+
module VERSION
|
4
|
+
MAJOR = 2
|
5
|
+
MINOR = 0
|
6
|
+
TINY = 0
|
7
|
+
PRE = nil
|
8
|
+
|
9
|
+
STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def base_class_for_template_handler_required?
|
15
|
+
::Rails::VERSION::MAJOR < 3
|
16
|
+
end
|
17
|
+
|
18
|
+
def template_should_include_compilable?
|
19
|
+
::Rails::VERSION::MAJOR < 3
|
20
|
+
end
|
21
|
+
|
22
|
+
def template_has_class_level_call_method?
|
23
|
+
::Rails::VERSION::MAJOR > 3 || (::Rails::VERSION::MAJOR == 3 && ::Rails::VERSION::MINOR >= 1)
|
24
|
+
end
|
25
|
+
|
26
|
+
def class_attribute_supported?
|
27
|
+
::Rails::VERSION::MAJOR >= 3
|
28
|
+
end
|
@@ -1,7 +1,9 @@
|
|
1
|
+
require "prawnto/available_features"
|
2
|
+
|
1
3
|
module Prawnto
|
2
4
|
module TemplateHandlers
|
3
|
-
class Base < (
|
4
|
-
include ::ActionView::TemplateHandlers::Compilable if
|
5
|
+
class Base < (base_class_for_template_handler_required? ? ::ActionView::TemplateHandler : ::Object)
|
6
|
+
include ::ActionView::TemplateHandlers::Compilable if template_should_include_compilable?
|
5
7
|
|
6
8
|
def self.call(template)
|
7
9
|
"_prawnto_compile_setup;" +
|
@@ -10,7 +12,7 @@ module Prawnto
|
|
10
12
|
"pdf.render;"
|
11
13
|
end
|
12
14
|
|
13
|
-
|
15
|
+
unless template_has_class_level_call_method?
|
14
16
|
def compile(template)
|
15
17
|
self.class.call(template)
|
16
18
|
end
|
data/lib/prawnto/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prawnto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-02-
|
14
|
+
date: 2012-02-27 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: prawn
|
18
|
-
requirement: &
|
18
|
+
requirement: &12515780 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *12515780
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rails
|
29
|
-
requirement: &
|
29
|
+
requirement: &12514940 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
version: '2.1'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *12514940
|
38
38
|
description: Support .prawn templates as Prawn::Document content
|
39
39
|
email:
|
40
40
|
- smecsia@gmail.com
|
@@ -51,6 +51,7 @@ files:
|
|
51
51
|
- lib/prawnto.rb
|
52
52
|
- lib/prawnto/action_controller_mixin.rb
|
53
53
|
- lib/prawnto/action_view_mixin.rb
|
54
|
+
- lib/prawnto/available_features.rb
|
54
55
|
- lib/prawnto/railtie.rb
|
55
56
|
- lib/prawnto/template_handler/compile_support.rb
|
56
57
|
- lib/prawnto/template_handlers/base.rb
|