Sha256: 744ec5b19599d083be0d9c2f8b94b132056e0c47d5cd5bd544d9e2c3ce295ceb
Contents?: true
Size: 750 Bytes
Versions: 3
Compression:
Stored size: 750 Bytes
Contents
module Vedeu class Composition def initialize(attributes = {}) @attributes = attributes end def attributes @_attributes ||= defaults.merge!(@attributes) end def interfaces @interfaces ||= if attributes[:interfaces].nil? || attributes[:interfaces].empty? [] else [ attributes[:interfaces] ].flatten.map do |attrs| stored = Store.query(attrs[:name]) combined = stored.merge(attrs) do |key, s, a| key == :lines && s.empty? ? a : s end Interface.new(combined) end end end def to_s interfaces.map(&:to_s).join end private def defaults { interfaces: [] } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.1.15 | lib/vedeu/models/composition.rb |
vedeu-0.1.14 | lib/vedeu/models/composition.rb |
vedeu-0.1.13 | lib/vedeu/models/composition.rb |