Sha256: 1bb601aa307faeb7b7ee6343834755984f6ec624a46cd515153a4f0b82e17843

Contents?: true

Size: 634 Bytes

Versions: 3

Compression:

Stored size: 634 Bytes

Contents

module Oxidized
  class Model
    using Refinements

    class Outputs
      def to_cfg
        type_to_str(nil)
      end

      def type_to_str(want_type)
        type(want_type).map { |out| out }.join
      end

      def <<(output)
        @outputs << output
      end

      def unshift(output)
        @outputs.unshift output
      end

      def all
        @outputs
      end

      def type(type)
        @outputs.select { |out| out.type == type }
      end

      def types
        @outputs.map { |out| out.type }.uniq.compact
      end

      private

      def initialize
        @outputs = []
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
oxidized-0.30.1 lib/oxidized/model/outputs.rb
oxidized-0.30.0 lib/oxidized/model/outputs.rb
oxidized-0.29.1 lib/oxidized/model/outputs.rb