Class: CompactData::Model::CompactDataPair

Inherits:
Object
  • Object
show all
Defined in:
lib/compactdata/model/model.rb

Overview

A CompactData PAir

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, value) ⇒ CompactDataPair

Returns a new instance of CompactDataPair.



103
104
105
106
# File 'lib/compactdata/model/model.rb', line 103

def initialize(key, value)
  @key = key
  @value = value
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



101
102
103
# File 'lib/compactdata/model/model.rb', line 101

def key
  @key
end

#valueObject (readonly)

Returns the value of attribute value.



101
102
103
# File 'lib/compactdata/model/model.rb', line 101

def value
  @value
end

Instance Method Details

#to_jObject



112
113
114
# File 'lib/compactdata/model/model.rb', line 112

def to_j
  { @key => @value.to_j }
end

#to_mObject



116
117
118
119
120
121
122
123
124
125
# File 'lib/compactdata/model/model.rb', line 116

def to_m
  key = UTIL.non_string_primitive?(@key) ? "\"#{@key}\"" : @key
  if @value.instance_of?(CompactDataPair)
    "#{key}(#{@value.to_m})"
  elsif @value.instance_of?(CompactDataMap) || @value.instance_of?(CompactDataArray)
    "#{key}#{@value.to_m}"
  else
    "#{key}=#{@value.to_m}"
  end
end

#to_sObject



108
109
110
# File 'lib/compactdata/model/model.rb', line 108

def to_s
  "CompactDataPair: #{key}=#{@value}"
end