Module: Objects2Json

Defined in:
lib/objects2json.rb

Instance Method Summary collapse

Instance Method Details

#json(property) ⇒ Object



14
15
16
17
18
19
# File 'lib/objects2json.rb', line 14

def json(property)
  value = send property
  return "" if value.nil?    
  return "\"#{property.to_s}\":[ #{json_array(value)} ]" if value.class == Array
  "\"#{property.to_s}\":#{value.inspect}"
end

#json_array(a) ⇒ Object



21
22
23
24
# File 'lib/objects2json.rb', line 21

def json_array(a)
  separator = ""
  a.map { |e| res = separator + e.to_json; separator = ", "; res }
end

#to_json(*a) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/objects2json.rb', line 5

def to_json(*a)
  result = "{ \"type\":\"#{self.class.name}\""
  json_attrs.each do |property|
    value =  json(property)
    result += ", #{value}" if value.length > 0
  end
  result += " }"
end