Module: Atnd4r::AtndAPIUtil

Defined in:
lib/atnd4r.rb

Class Method Summary collapse

Class Method Details

.to_ruby_type(element) ⇒ Object

REXML::Element



231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/atnd4r.rb', line 231

def self.to_ruby_type(element)

  # 子要素が取得できない場合は nil を返す
  return nil if element.nil?

  # 要素が無い場合、属性に nil が付くので、値が true であれば nil を返す
  if element.attributes['nil']
    return nil if element.attributes['nil'] == 'true'
  end

  val = nil
  element_type = element.attributes['type'] 
  element_type = element_type.downcase if element_type
  case element_type
  when 'integer'
    val = element.text.to_i
  when 'decimal'
    val = element.text.to_f
  when 'datetime'
    val = Time.parse(element.text)
  else
    val = element.text
  end
  return val
end