Class: Projects::Parser::EventParser

Inherits:
Object
  • Object
show all
Includes:
Model
Defined in:
lib/projects/parser/EventParser.rb

Overview

  • Parse the JSON response into respective objects.

Instance Method Summary collapse

Instance Method Details

#getEvent(response) ⇒ Object

  • Parse the JSON response and make it into Event object.

Parameters

  • response
    • This JSON response contains the details of an event.

Returns

  • Event object.



44
45
46
47
48
# File 'lib/projects/parser/EventParser.rb', line 44

def getEvent(response)
  event_json = JSON.parse response
  event_array = event_json["events"]
  return jsonToEvent(event_array[0])
end

#getEvents(response) ⇒ Object

  • Parse the JSON response and make it into List of Event object.

Parameters

  • response
    • This JSON response contains the details of events.

Returns

  • List of Event object.



24
25
26
27
28
29
30
31
32
# File 'lib/projects/parser/EventParser.rb', line 24

def getEvents(response)
  events_all_json = JSON.parse response
  events_all_array = events_all_json["events"]
  events_class_array = Array.new
  for i in 0...events_all_array.length
    events_class_array.push(jsonToEvent(events_all_array[i]))
  end
  return events_class_array
end

#getResult(response) ⇒ Object

  • Parse the JSON response and get the success message.

Parameters

  • response
    • This JSON response contains the success message.

Returns

  • String object.



148
149
150
151
152
# File 'lib/projects/parser/EventParser.rb', line 148

def getResult(response)
  jsonObject = JSON.parse response
  result = jsonObject["response"]
  return result
end

#jsonToEvent(jsonObject) ⇒ Object

  • Parse the JSONObject into Event object.

Parameters

  • jsonObject
    • JSONObject contains the details of an event.

Returns

  • Event object.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'lib/projects/parser/EventParser.rb', line 60

def jsonToEvent(jsonObject)
  
  event = Event.new

  if jsonObject.has_key?("id")
    event.setId(jsonObject["id"])
  end
  if jsonObject.has_key?("title")
    event.setTitle(jsonObject["title"])
  end
  if jsonObject.has_key?("location")
    event.setLocation(jsonObject["location"])
  end
  if jsonObject.has_key?("scheduled_on")
    event.setScheduledOn(jsonObject["scheduled_on"])
  end
  if jsonObject.has_key?("scheduled_on_long")
    event.setScheduledOnLong(jsonObject["scheduled_on_long"])
  end
  if jsonObject.has_key?("reminder")
    event.setReminder(jsonObject["reminder"])
  end
  if jsonObject.has_key?("repeat")
    event.setRepeat(jsonObject["repeat"])
  end
  if jsonObject.has_key?("occurrence(s)")
    event.setOccurrences(jsonObject["occurrence(s)"])
  end
  if jsonObject.has_key?("occurred")
    event.setOccurred(jsonObject["occurred"])
  end
  if jsonObject.has_key?("duration_hour")
    event.setDurationHours(jsonObject["duration_hour"])
  end
  if jsonObject.has_key?("duration_minutes")
    event.setDurationMinutes(jsonObject["duration_minutes"])
  end
  
  if jsonObject.has_key?("participants")
    participants = jsonObject["participants"]
  
    participantList = Array.new

    for j in 0...participants.length
      participant = participants[j]
      participantList.push(jsonToParticipant(participant))
    end
    
    event.setParticipants(participantList)
  end
  
  return event
end

#jsonToParticipant(jsonObject) ⇒ Object

  • Parse the JSONObject into Participant object.

Parameters

  • jsonObject
    • JSONObject contains the details of a participant.

Returns

  • Participant object.



124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/projects/parser/EventParser.rb', line 124

def jsonToParticipant(jsonObject)
  
  participant = Participant.new
  
  if jsonObject.has_key?("participant_id")
    participant.setParticipantId(jsonObject["participant_id"])
  end
  if jsonObject.has_key?("participant_person")
    participant.setParticipantPerson(jsonObject["participant_person"])
  end
  
  return participant
end