Class: Mspire::UserParam

Inherits:
Struct
  • Object
show all
Defined in:
lib/mspire/user_param.rb,
lib/mspire/user_param.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ UserParam

takes a few different incantations:

name, unit_acc# or CV::Param object
name, value, unit_acc# or CV::Param object
name, value, type, unit_acc# or CV::Param object


19
20
21
22
23
24
25
26
# File 'lib/mspire/user_param.rb', line 19

def initialize(*args)
  self.unit = 
    if args.size > 1 && ((args.last.is_a?(::CV::Param) || args.last =~ /^[A-Za-z]+:\d+$/))
      unit_arg = args.pop
      unit_arg.is_a?(::CV::Param) ? unit_arg : Mspire::CV::Param[unit_arg]
    end
  self.name, self.value, self.type = args
end

Instance Attribute Details

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



4
5
6
# File 'lib/mspire/user_param.rb', line 4

def name
  @name
end

#typeObject

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



4
5
6
# File 'lib/mspire/user_param.rb', line 4

def type
  @type
end

#unitObject

Returns the value of attribute unit

Returns:

  • (Object)

    the current value of unit



4
5
6
# File 'lib/mspire/user_param.rb', line 4

def unit
  @unit
end

#valueObject

Returns the value of attribute value

Returns:

  • (Object)

    the current value of value



4
5
6
# File 'lib/mspire/user_param.rb', line 4

def value
  @value
end

Instance Method Details

#accessionObject

returns nil



9
10
11
12
# File 'lib/mspire/user_param.rb', line 9

def accession
  # that way all params can be queried by accession and not raise error
  nil
end

#to_xml(xml) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/mspire/user_param.rb', line 28

def to_xml(xml)
  atts = { name: name, value: value, type: type }
  if unit
    atts.merge!( 
                { :unitCvRef => unit.cv_ref, 
                  :unitAccession => unit.accession,
                  :unitName => unit.name } 
               )
  end
  xml.userParam(atts)
  xml
end