lib/eddy/models/segment.rb in eddy-0.7.0 vs lib/eddy/models/segment.rb in eddy-0.8.0
- old
+ new
@@ -11,24 +11,28 @@
attr_reader :name
# @return [Array<Element>]
attr_accessor :elements
# @return [Eddy::Data::Store] Data passed down from a Transaction Set.
attr_accessor :store
+ # @return [Boolean] (false) If true, `#render` will return `nil`.
+ attr_accessor :skip
# All of a Segment's elements need to be declared in its constructor.
#
# @param store [Eddy::Data::Store]
# @param elements [Eddy::Models::Element::Base]
# @return [void]
def initialize(store, *elements)
+ self.skip = false
self.store = store
elements.flatten!
self.elements = elements || []
end
# @param separator [String] (self.store.element_separator) String used to delimit elements within a segment.
- # @return [String]
+ # @return [String,nil]
def render(separator = self.store.element_separator)
+ return nil if self.skip
segment = [self.id, self.elements.map(&:value)].join(separator)
return Eddy::Util.trim_delims_from_segment(segment, separator: separator)
end
end