Class: Projects::Parser::FolderParser

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

Overview

  • Parse the JSON response into respective objects.

Instance Method Summary collapse

Instance Method Details

#getFolder(response) ⇒ Object

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

Parameters

  • response
    • This JSON response contains the details of a folder.

Returns

  • Folder object.



42
43
44
45
46
# File 'lib/projects/parser/FolderParser.rb', line 42

def getFolder(response)
  folder_json = JSON.parse response
  folder_array = folder_json["folders"]
  return jsonToFolder(folder_array[0])
end

#getFolders(response) ⇒ Object

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

Parameters

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

Returns

  • List of Folder object.



22
23
24
25
26
27
28
29
30
# File 'lib/projects/parser/FolderParser.rb', line 22

def getFolders(response)
  folders_all_json = JSON.parse response
  folders_all_array = folders_all_json["folders"]
  folders_class_array = Array.new
  for i in 0...folders_all_array.length
    folders_class_array.push(jsonToFolder(folders_all_array[i]))
  end
  return folders_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.



92
93
94
95
96
# File 'lib/projects/parser/FolderParser.rb', line 92

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

#jsonToFolder(jsonObject) ⇒ Object

  • Parse the JSONObject into Folder object.

Parameters

  • jsonObject
    • JSONObject contains the details of a folder.

Returns

  • Folder object.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/projects/parser/FolderParser.rb', line 58

def jsonToFolder(jsonObject)
  folder = Folder.new
  
  if jsonObject.has_key?("id")
    folder.setId(jsonObject["id"])
  end
  if jsonObject.has_key?("name")
    folder.setName(jsonObject["name"])
  end
  if jsonObject.has_key?("is_discussion")
    folder.setIsDicussion(jsonObject["is_discussion"])
  end
  
  if jsonObject.has_key?("link")
    link = jsonObject["link"]
    
    if link.has_key?("self")
      folder.setURL(link["self"]["url"])
    end
  end
  
  return folder
end