Sha256: 1988b4b7dc117a40d47868ebc61c876fb1ef88ee3e767f30c30f1c7de8ae2c15

Contents?: true

Size: 929 Bytes

Versions: 11

Compression:

Stored size: 929 Bytes

Contents

require 'ms/cv/paramable'
require 'ms/mzml/component'
require 'ms/mzml/list'

module MS
  class Mzml
    class InstrumentConfiguration
      include MS::CV::Paramable

      # (required) the id that this guy can be referenced from
      attr_accessor :id

      # a list of Source, Analyzer, Detector objects
      attr_accessor :components

      # a single software object associated with the instrument
      attr_accessor :software

      def initialize(id, components=[], opts={params: []})
        describe!(*opts[:params])
        @id = id
        @components = components
      end

      def to_xml(builder)
        builder.instrumentConfiguration(id: @id) do |inst_conf_n|
          super(builder)
          MS::Mzml::Component.list_xml(components, inst_conf_n)
          inst_conf_n.softwareRef(ref: @software.id) if @software
        end
        builder
      end

      self.extend(MS::Mzml::List)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mspire-0.6.26 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.25 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.24 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.22 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.21 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.20 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.19 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.18 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.12 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.11 lib/ms/mzml/instrument_configuration.rb
mspire-0.6.9 lib/ms/mzml/instrument_configuration.rb