Class: Pdf::Blueprint
- Inherits:
-
Object
- Object
- Pdf::Blueprint
- Defined in:
- lib/pdf/blueprint.rb
Instance Attribute Summary collapse
-
#elements ⇒ Object
readonly
Returns the value of attribute elements.
-
#layout_class ⇒ Object
readonly
Returns the value of attribute layout_class.
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
Instance Method Summary collapse
- #add(type, *args, **options, &block) ⇒ Object
- #dup ⇒ Object
- #empty? ⇒ Boolean
-
#initialize ⇒ Blueprint
constructor
A new instance of Blueprint.
- #set_layout(klass) ⇒ Object
- #set_metadata(key, value) ⇒ Object
Constructor Details
#initialize ⇒ Blueprint
Returns a new instance of Blueprint.
7 8 9 10 11 |
# File 'lib/pdf/blueprint.rb', line 7 def initialize @elements = [] @layout_class = nil @metadata = {} end |
Instance Attribute Details
#elements ⇒ Object (readonly)
Returns the value of attribute elements.
5 6 7 |
# File 'lib/pdf/blueprint.rb', line 5 def elements @elements end |
#layout_class ⇒ Object (readonly)
Returns the value of attribute layout_class.
5 6 7 |
# File 'lib/pdf/blueprint.rb', line 5 def layout_class @layout_class end |
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata.
5 6 7 |
# File 'lib/pdf/blueprint.rb', line 5 def @metadata end |
Instance Method Details
#add(type, *args, **options, &block) ⇒ Object
13 14 15 16 17 |
# File 'lib/pdf/blueprint.rb', line 13 def add(type, *args, **, &block) element = { type: type, args: args, options: } element[:block] = block if block @elements << element end |
#dup ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/pdf/blueprint.rb', line 31 def dup copy = Blueprint.new copy.instance_variable_set(:@elements, deep_dup_elements) copy.instance_variable_set(:@layout_class, @layout_class) copy.instance_variable_set(:@metadata, @metadata.dup) copy end |
#empty? ⇒ Boolean
27 28 29 |
# File 'lib/pdf/blueprint.rb', line 27 def empty? @elements.empty? && @layout_class.nil? && @metadata.empty? end |
#set_layout(klass) ⇒ Object
19 20 21 |
# File 'lib/pdf/blueprint.rb', line 19 def set_layout(klass) @layout_class = klass end |
#set_metadata(key, value) ⇒ Object
23 24 25 |
# File 'lib/pdf/blueprint.rb', line 23 def (key, value) @metadata[key] = value end |