Class: ODFWriter::Field
- Inherits:
-
Object
- Object
- ODFWriter::Field
- Defined in:
- lib/odf_writer/field.rb
Overview
Field: replace fields
Constant Summary collapse
- DELIMITERS =
constants
%w([ ])
Instance Attribute Summary collapse
-
#name ⇒ Object
constants.
Instance Method Summary collapse
-
#field(item, key) ⇒ Object
field.
-
#initialize(options, &block) ⇒ Field
constructor
initialize.
-
#replace!(content, item = nil) ⇒ Object
replace!.
-
#value(item = nil) ⇒ Object
value.
Constructor Details
#initialize(options, &block) ⇒ Field
initialize
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/odf_writer/field.rb', line 50 def initialize(, &block) @name = [:name] @value = [:value] @field = [:field] @key = @field || @name @proc = [:proc] @remove_classes = [:remove_classes] @remove_class_prefix = [:remove_class_prefix] @remove_class_suffix = [:remove_class_suffix] @value ||= @proc unless @value if block_given? @value = block else @value = lambda { |item, key| field(item, key) } end end end |
Instance Attribute Details
#name ⇒ Object
constants
43 44 45 |
# File 'lib/odf_writer/field.rb', line 43 def name @name end |
Instance Method Details
#field(item, key) ⇒ Object
field
98 99 100 101 102 103 104 105 106 107 |
# File 'lib/odf_writer/field.rb', line 98 def field(item, key) case item when NilClass key when Hash hash_value(item, key) else item_field(item, key) end end |
#replace!(content, item = nil) ⇒ Object
replace!
78 79 80 81 82 |
# File 'lib/odf_writer/field.rb', line 78 def replace!(content, item = nil) txt = content.inner_html txt.gsub!(placeholder, sanitize(value(item))) content.inner_html = txt end |
#value(item = nil) ⇒ Object
value
89 90 91 |
# File 'lib/odf_writer/field.rb', line 89 def value(item = nil) @value.is_a?(Proc) ? @value.call(item, @key) : @value end |