class HQMF::Attribute

Attributes

code[R]
code_obj[R]
id[R]
id_obj[R]
name[R]
unit[R]
value[R]
value_obj[R]

Public Class Methods

from_json(json) click to toggle source
# File lib/hqmf-model/attribute.rb, line 25
def self.from_json(json)
  json = json.with_indifferent_access

  id = json["id"] if json["id"]
  code = json["code"] if json["code"]
  value = json["value"] if json["value"]
  unit = json["unit"] if json["unit"]
  name = json["name"] if json["name"]
  # enhanced model
  id_obj = HQMF::Identifier::from_json(json["id_obj"]) if json["id_obj"]
  code_obj = HQMF::Coded::from_json(json["code_obj"]) if json["code_obj"]
  value_obj = nil
  if (json["value_obj"])
    json_value = json["value_obj"].with_indifferent_access
    case json_value["type"]
    when 'II'
      value_obj = HQMF::Identifier::from_json(json_value)
    when 'CD'
      value_obj = HQMF::Coded::from_json(json_value)
    when 'ED'
      value_obj = HQMF::ED::from_json(json_value)
    else
      value_obj = json_value["value"].nil? ? HQMF::AnyValue::from_json(json_value) : HQMF::GenericValueContainer::from_json(json_value)
    end
  end

  HQMF::Attribute.new(id,code,value,unit,name,id_obj,code_obj,value_obj)
end
new(id,code,value,unit,name,id_obj=nil,code_obj=nil,value_obj=nil) click to toggle source

@param [String] id @param [String] code @param [String] value @param [String] unit @param [String] name @param [HQMF::Identifier] id_obj @param [HQMF::Coded] code_obj @param [Object] value_obj

# File lib/hqmf-model/attribute.rb, line 13
def initialize(id,code,value,unit,name,id_obj=nil,code_obj=nil,value_obj=nil)
  @id = id
  @code = code
  @value = value
  @unit = unit
  @name = name
  # enhanced model
  @id_obj = id_obj
  @code_obj = code_obj
  @value_obj = value_obj
end

Public Instance Methods

to_json() click to toggle source
# File lib/hqmf-model/attribute.rb, line 54
def to_json
  json = build_hash(self, [:id,:code,:value,:unit,:name])
  json[:id_obj] = @id_obj.to_json if @id_obj
  json[:code_obj] = @code_obj.to_json if @code_obj
  json[:value_obj] = @value_obj.to_json if @value_obj
  json
end