Sha256: c10c7f51e2057519dc8eef16fe0a9a8420dc5361d3bb3a0e66700d1937ffc8d8
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
# frozen_string_literal: true module Vedeu module Views # A collection of {Vedeu::Views::Line} instances. # # @api private # class Lines < Vedeu::Repositories::Collection # @param (see Vedeu::Repositories::Collection#initialize) # @raise [Vedeu::Error::InvalidSyntax] When the collection # cannot be coerced since it is unrecognised or unsupported. # @return [Vedeu::Views::Lines] def self.coerce(collection = [], parent = nil, name = nil) if collection.is_a?(Vedeu::Views::Lines) collection elsif collection.is_a?(Vedeu::Views::Streams) if collection.empty? # @todo Investigate whether this is being used. end elsif collection.is_a?(Array) return new(collection, parent, name) if collection.empty? coerced_collection = [] collection.each do |element| coerced_collection << element if element.is_a?(Vedeu::Views::Line) end new(coerced_collection, parent, name) elsif collection.is_a?(Vedeu::Views::Line) new([collection], parent, name) else fail Vedeu::Error::InvalidSyntax, 'Cannot coerce for Vedeu::View::Lines, as collection ' \ 'unrecognised.' end end alias_method :lines, :value end # Lines end # Views end # Vedeu
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.8.5 | lib/vedeu/views/lines.rb |
vedeu-0.8.4 | lib/vedeu/views/lines.rb |