zohoProjects 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +17 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +145 -0
  6. data/Rakefile +2 -0
  7. data/lib/projects/api/API.rb +57 -0
  8. data/lib/projects/api/BugsAPI.rb +135 -0
  9. data/lib/projects/api/DocumentsAPI.rb +145 -0
  10. data/lib/projects/api/EventsAPI.rb +115 -0
  11. data/lib/projects/api/FoldersAPI.rb +111 -0
  12. data/lib/projects/api/ForumsAPI.rb +198 -0
  13. data/lib/projects/api/MilestonesAPI.rb +159 -0
  14. data/lib/projects/api/PortalAPI.rb +41 -0
  15. data/lib/projects/api/ProjectsAPI.rb +203 -0
  16. data/lib/projects/api/TasklistsAPI.rb +113 -0
  17. data/lib/projects/api/TasksAPI.rb +153 -0
  18. data/lib/projects/api/TimesheetsAPI.rb +240 -0
  19. data/lib/projects/api/UsersAPI.rb +48 -0
  20. data/lib/projects/exception/ProjectsException.rb +50 -0
  21. data/lib/projects/model/Activity.rb +173 -0
  22. data/lib/projects/model/Bug.rb +701 -0
  23. data/lib/projects/model/Buglog.rb +56 -0
  24. data/lib/projects/model/Category.rb +70 -0
  25. data/lib/projects/model/Comment.rb +289 -0
  26. data/lib/projects/model/Document.rb +260 -0
  27. data/lib/projects/model/Event.rb +391 -0
  28. data/lib/projects/model/Folder.rb +110 -0
  29. data/lib/projects/model/Forum.rb +320 -0
  30. data/lib/projects/model/Generallog.rb +36 -0
  31. data/lib/projects/model/Log.rb +359 -0
  32. data/lib/projects/model/Milestone.rb +322 -0
  33. data/lib/projects/model/Owner.rb +54 -0
  34. data/lib/projects/model/Participant.rb +54 -0
  35. data/lib/projects/model/Portal.rb +273 -0
  36. data/lib/projects/model/Project.rb +593 -0
  37. data/lib/projects/model/Status.rb +168 -0
  38. data/lib/projects/model/Task.rb +497 -0
  39. data/lib/projects/model/Tasklist.rb +300 -0
  40. data/lib/projects/model/Tasklog.rb +56 -0
  41. data/lib/projects/model/Timelog.rb +134 -0
  42. data/lib/projects/model/TimelogList.rb +54 -0
  43. data/lib/projects/model/User.rb +94 -0
  44. data/lib/projects/model/Version.rb +194 -0
  45. data/lib/projects/parser/BugParser.rb +208 -0
  46. data/lib/projects/parser/DocumentParser.rb +197 -0
  47. data/lib/projects/parser/EventParser.rb +156 -0
  48. data/lib/projects/parser/FolderParser.rb +99 -0
  49. data/lib/projects/parser/ForumParser.rb +253 -0
  50. data/lib/projects/parser/MilestonesParser.rb +129 -0
  51. data/lib/projects/parser/PortalParser.rb +103 -0
  52. data/lib/projects/parser/ProjectParser.rb +318 -0
  53. data/lib/projects/parser/TaskParser.rb +293 -0
  54. data/lib/projects/parser/TasklistParser.rb +127 -0
  55. data/lib/projects/parser/TimesheetParser.rb +390 -0
  56. data/lib/projects/parser/UserParser.rb +63 -0
  57. data/lib/projects/service/ZohoProject.rb +174 -0
  58. data/lib/projects/util/ZohoHTTPClient.rb +205 -0
  59. data/lib/test/ProjectsTest.rb +321 -0
  60. data/lib/zohoProjects.rb +35 -0
  61. data/lib/zohoProjects/version.rb +3 -0
  62. data/zohoProjects.gemspec +86 -0
  63. metadata +135 -0
@@ -0,0 +1,320 @@
1
+ # $Id$
2
+ module Projects
3
+ module Model
4
+ # * This class is used to make an object for Forum.
5
+
6
+ class Forum
7
+
8
+ private
9
+ attr_accessor :id, :name, :content, :isStickyPost, :isAnnouncementPost, :postedBy, :postedPerson, :postDate, :postDateFormat, :postDateLong, :url, :categoryId, :notify, :uploadfile
10
+
11
+ public
12
+
13
+ # * Set the forum id.
14
+ #
15
+ # ==== Parameters
16
+ #
17
+ # * id:: - ID of the forum.
18
+
19
+ def setId(id)
20
+ @id = id
21
+ end
22
+
23
+ # * Get the forum id.
24
+ #
25
+ # ==== Returns
26
+ #
27
+ # * Forum id.
28
+
29
+ def getId
30
+ return @id
31
+ end
32
+
33
+ # * Set the forum name.
34
+ #
35
+ # ==== Parameters
36
+ #
37
+ # * name:: - Name of the forum.
38
+
39
+ def setName(name)
40
+ @name = name
41
+ end
42
+
43
+ # * Get the forum name.
44
+ #
45
+ # ==== Returns
46
+ #
47
+ # * Forum name.
48
+
49
+ def getName
50
+ return @name
51
+ end
52
+
53
+ # * Set the content of the forum.
54
+ #
55
+ # ==== Parameters
56
+ #
57
+ # * content:: - Content of the forum.
58
+
59
+ def setContent(content)
60
+ @content = content
61
+ end
62
+
63
+ # * Get the content of the forum.
64
+ #
65
+ # ==== Returns
66
+ #
67
+ # * Content of the forum.
68
+
69
+ def getContent
70
+ return @content
71
+ end
72
+
73
+ # * Set the forum is a sticky post or not.
74
+ #
75
+ # ==== Parameters
76
+ #
77
+ # * isStickyPost:: - Is the forum in a sticky post or not.
78
+
79
+ def setIsStickyPost(isStickyPost)
80
+ @isStickyPost = isStickyPost
81
+ end
82
+
83
+ # * Get the forum is a sticky post or not.
84
+ #
85
+ # ==== Returns
86
+ #
87
+ # * true, if the forum is in sticky post else returns false.
88
+
89
+ def isStickyPost
90
+ return @isStickyPost
91
+ end
92
+
93
+ # * Set is announcement post or not.
94
+ #
95
+ # ==== Parameters
96
+ #
97
+ # * isAnnouncementPost:: - is the post announcement or not.
98
+
99
+ def setIsAnnouncementPost(isAnnouncementPost)
100
+ @isAnnouncementPost = isAnnouncementPost
101
+ end
102
+
103
+ # * Get is the post is announcement or not.
104
+ #
105
+ # ==== Returns
106
+ #
107
+ # * true, if the post is announcement else returns false.
108
+
109
+ def isAnnouncementPost
110
+ return @isAnnouncementPost
111
+ end
112
+
113
+ # * Set the id of the posted User.
114
+ #
115
+ # ==== Parameters
116
+ #
117
+ # * postedBy:: - Id of the User who posted the post.
118
+
119
+ def setPostedBy(postedBy)
120
+ @postedBy = postedBy
121
+ end
122
+
123
+ # * Get the id of the posted User.
124
+ #
125
+ # ==== Returns
126
+ #
127
+ # * User id.
128
+
129
+ def getPostedBy
130
+ return @postedBy
131
+ end
132
+
133
+ # * Set the posted User name.
134
+ #
135
+ # ==== Parameters
136
+ #
137
+ # * postedPerson:: - Posted User name.
138
+
139
+ def setPostedPerson(postedPerson)
140
+ @postedPerson = postedPerson
141
+ end
142
+
143
+ # * Get the posted User name.
144
+ #
145
+ # ==== Returns
146
+ #
147
+ # * posted User name.
148
+
149
+ def getPostedPerson
150
+ return @postedPerson
151
+ end
152
+
153
+ # * Set the post date of the forum.
154
+ #
155
+ # ==== Parameters
156
+ #
157
+ # * postDate:: - Date of the post in the forum.
158
+
159
+ def setPostDate(postDate)
160
+ @postDate = postDate
161
+ end
162
+
163
+ # * Get the post date of the forum.
164
+ #
165
+ # ==== Returns
166
+ #
167
+ # * Post date in the forum.
168
+
169
+ def getPostDate
170
+ return @postDate
171
+ end
172
+
173
+ # * Set the date format of the post in the forum.
174
+ #
175
+ # ==== Parameters
176
+ #
177
+ # * postDate:: - Date format of the post in the forum.
178
+
179
+ def setPostDateFormat(postDateFormat)
180
+ @postDateFormat = postDateFormat
181
+ end
182
+
183
+ # * Get the date format of the post in the forum.
184
+ #
185
+ # ==== Returns
186
+ #
187
+ # * Date format of the post in the forum.
188
+
189
+ def getPostDateFormat
190
+ return @postDateFormat
191
+ end
192
+
193
+ # * Set the date of the post the forum.
194
+ #
195
+ # ==== Parameters
196
+ #
197
+ # * postDateLong:: - Date of the post in the forum.
198
+
199
+ def setPostDateLong(postDateLong)
200
+ @postDateLong = postDateLong
201
+ end
202
+
203
+ # * Get the date of the post in forum.
204
+ #
205
+ # ==== Returns
206
+ #
207
+ # * Date of the post in the forum.
208
+
209
+ def getPostDateLong
210
+ return @postDateLong
211
+ end
212
+
213
+ # * Set the forum URL.
214
+ #
215
+ # ==== Parameters
216
+ #
217
+ # * url:: - URL for the forum.
218
+
219
+ def setURL(url)
220
+ @url = url
221
+ end
222
+
223
+ # * Get the forum URL.
224
+ #
225
+ # ==== Returns
226
+ #
227
+ # * Forum URL.
228
+
229
+ def getURL
230
+ return @url
231
+ end
232
+
233
+ # * Set the category id of the project.
234
+ #
235
+ # ==== Parameters
236
+ #
237
+ # * categoryId:: - ID of the project category.
238
+
239
+ def setCategoryId(categoryId)
240
+ @categoryId = categoryId
241
+ end
242
+
243
+ # * Get the category id of the project.
244
+ #
245
+ # ==== Returns
246
+ #
247
+ # * project category id.
248
+
249
+ def getCategoryId
250
+ return @categoryId
251
+ end
252
+
253
+ # * Set the notify in the forum.
254
+ #
255
+ # ==== Parameters
256
+ #
257
+ # * notify:: - Notify in the forum.
258
+
259
+ def setNotify(notify)
260
+ @notify = notify
261
+ end
262
+
263
+ # * Get the notify of the forum.
264
+ #
265
+ # ==== Returns
266
+ #
267
+ # * notify of the forum.
268
+
269
+ def getNotify
270
+ return @notify
271
+ end
272
+
273
+ # * Set the upload file list.
274
+ #
275
+ # ==== Parameters
276
+ #
277
+ # * uploadfile:: - ArrayList of Uploading file in the forum.
278
+
279
+ def setUploadfile(uploadfile)
280
+ @uploadfile = uploadfile
281
+ end
282
+
283
+ # * Get the uploaded file list.
284
+ #
285
+ # ==== Returns
286
+ #
287
+ # * ArrayList of uploaded file for the post in the forum.
288
+
289
+ def getUploadfile
290
+ return @uploadfile
291
+ end
292
+
293
+ # * Convert the Forum object into HashMap.
294
+ #
295
+ # ==== Returns
296
+ #
297
+ # * HashMap object.
298
+
299
+ def toParamMAP
300
+ requestBody = Hash.new
301
+
302
+ if name != nil
303
+ requestBody["name"] = name
304
+ end
305
+ if content != nil
306
+ requestBody["content"] = content
307
+ end
308
+ if categoryId != nil && categoryId.to_i > 0
309
+ requestBody["category_id"] = categoryId
310
+ end
311
+ if notify != nil
312
+ requestBody["notify"] = notify
313
+ end
314
+
315
+
316
+ return requestBody
317
+ end
318
+ end
319
+ end
320
+ end
@@ -0,0 +1,36 @@
1
+ # $Id$
2
+ module Projects
3
+ module Model
4
+ require File.dirname(__FILE__) + '/Log'
5
+
6
+ # * This class is used to make an object for Generallog.
7
+
8
+ class Generallog < Log
9
+
10
+ private
11
+ attr_accessor :name
12
+
13
+ public
14
+
15
+ # * Set the name fo the general log.
16
+ #
17
+ # ==== Parameters
18
+ #
19
+ # * name:: - Name of the general log.
20
+
21
+ def setName(name)
22
+ @name = name
23
+ end
24
+
25
+ # * Get the name of the general log.
26
+ #
27
+ # ==== Returns
28
+ #
29
+ # * General log name.
30
+
31
+ def getName
32
+ return @name
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,359 @@
1
+ # $Id$
2
+ module Projects
3
+ module Model
4
+ # * This class is used to make an object for Log.
5
+
6
+ class Log
7
+
8
+ private
9
+ attr_accessor :id, :notes, :hours, :minutes, :hoursDisplay, :totalMinutes, :ownerId, :ownerName, :billStatus, :projectId, :projectName, :url, :logDate, :logDateFormat, :logDateLong
10
+
11
+ public
12
+
13
+ # * Set the log id.
14
+ #
15
+ # ==== Parameters
16
+ #
17
+ # * id:: - ID of the log.
18
+
19
+ def setId(id)
20
+ @id = id
21
+ end
22
+
23
+ # * Get the log id.
24
+ #
25
+ # ==== Returns
26
+ #
27
+ # * Log id.
28
+
29
+ def getId
30
+ return @id
31
+ end
32
+
33
+ # * Set the notes for the log.
34
+ #
35
+ # ==== Parameters
36
+ #
37
+ # * notes:: - Notes for the log.
38
+
39
+ def setNotes(notes)
40
+ @notes = notes
41
+ end
42
+
43
+ # * Get the log notes.
44
+ #
45
+ # ==== Returns
46
+ #
47
+ # * Log notes.
48
+
49
+ def getNotes
50
+ return @notes
51
+ end
52
+
53
+ # * Set the hours for the log.
54
+ #
55
+ # ==== Parameters
56
+ #
57
+ # * hours:: - Hours for the log.
58
+
59
+ def setHours(hours)
60
+ @hours = hours
61
+ end
62
+
63
+ # * Get the hours for the log.
64
+ #
65
+ # ==== Returns
66
+ #
67
+ # * Log hours.
68
+
69
+ def getHours
70
+ return @hours
71
+ end
72
+
73
+ # * Set the minutes for the log.
74
+ #
75
+ # ==== Parameters
76
+ #
77
+ # * minutes:: - Minutes for the log.
78
+
79
+ def setMinutes(minutes)
80
+ @minutes = minutes
81
+ end
82
+
83
+ # * Get the minutes for the log.
84
+ #
85
+ # ==== Returns
86
+ #
87
+ # * Log minutes.
88
+
89
+ def getMinutes
90
+ return @minutes
91
+ end
92
+
93
+ # * Set the hour display format.
94
+ #
95
+ # ==== Parameters
96
+ #
97
+ # * hourDisplay:: - Hour display format.
98
+
99
+ def setHoursDisplay(hoursDisplay)
100
+ @hoursDisplay = hoursDisplay
101
+ end
102
+
103
+ # * Get the hour display format.
104
+ #
105
+ # ==== Returns
106
+ #
107
+ # * Hour display format.
108
+
109
+ def getHoursDisplay
110
+ return @hoursDisplay
111
+ end
112
+
113
+ # * Set the total time in minutes for the log.
114
+ #
115
+ # ==== Parameters
116
+ #
117
+ # * totalMinutes:: - Total time in minutes for the log.
118
+
119
+ def setTotalMinutes(totalMinutes)
120
+ @totalMinutes = totalMinutes
121
+ end
122
+
123
+ # * Get the total time in minutes for the log.
124
+ #
125
+ # ==== Returns
126
+ #
127
+ # * Total time in minutes for the log.
128
+
129
+ def getTotalMinutes
130
+ return @totalMinutes
131
+ end
132
+
133
+ # * Set the owner id.
134
+ #
135
+ # ==== Parameters
136
+ #
137
+ # * ownerId:: - ID of the owner.
138
+
139
+ def setOwnerId(ownerId)
140
+ @ownerId = ownerId
141
+ end
142
+
143
+ # * Get the owner id.
144
+ #
145
+ # ==== Returns
146
+ #
147
+ # * Owner id.
148
+
149
+ def getOwnerId
150
+ return @ownerId
151
+ end
152
+
153
+ # * Set the owner name.
154
+ #
155
+ # ==== Parameters
156
+ #
157
+ # * ownerName:: - Name of the owner.
158
+
159
+ def setOwnerName(ownerName)
160
+ @ownerName = ownerName
161
+ end
162
+
163
+ # * Get the owner name.
164
+ #
165
+ # ==== Returns
166
+ #
167
+ # * Owner name.
168
+
169
+ def getOwnerName
170
+ return @ownerName
171
+ end
172
+
173
+ # * Set the bill status for the log.
174
+ #
175
+ # ==== Parameters
176
+ #
177
+ # * billStatus:: - Bill status for the log.
178
+
179
+ def setBillStatus(billStatus)
180
+ @billStatus = billStatus
181
+ end
182
+
183
+ # * Get the bill status for the log.
184
+ #
185
+ # ==== Returns
186
+ #
187
+ # * Bill status.
188
+
189
+ def getBillStatus
190
+ return @billStatus
191
+ end
192
+
193
+ # * Set the project id.
194
+ #
195
+ # ==== Parameters
196
+ #
197
+ # * projectId:: - ID of the project.
198
+
199
+ def setProjectId(projectId)
200
+ @projectId = projectId
201
+ end
202
+
203
+ # * Get the project id.
204
+ #
205
+ # ==== Returns
206
+ #
207
+ # * Project id.
208
+
209
+ def getProjectId
210
+ return @projectId
211
+ end
212
+
213
+ # * Set the project name.
214
+ #
215
+ # ==== Parameters
216
+ #
217
+ # * projectName:: - Name of the project.
218
+
219
+ def setProjectName(projectName)
220
+ @projectName = projectName
221
+ end
222
+
223
+ # * Get the project name.
224
+ #
225
+ # ==== Returns
226
+ #
227
+ # * Project name.
228
+
229
+ def getProjectName
230
+ return @projectName
231
+ end
232
+
233
+ # * Set the URL for the log.
234
+ #
235
+ # ==== Parameters
236
+ #
237
+ # * url:: - URL for the log.
238
+
239
+ def setURL(url)
240
+ @url = url
241
+ end
242
+
243
+ # * Get the URL.
244
+ #
245
+ # ==== Returns
246
+ #
247
+ # * Log URL.
248
+
249
+ def getURL
250
+ return @url
251
+ end
252
+
253
+ # * Set the log date.
254
+ #
255
+ # ==== Parameters
256
+ #
257
+ # * logDate:: - Date of the log.
258
+
259
+ def setLogDate(logDate)
260
+ @logDate = logDate
261
+ end
262
+
263
+ # * Get the log date.
264
+ #
265
+ # ==== Returns
266
+ #
267
+ # * Log date.
268
+
269
+ def getLogDate
270
+ return @logDate
271
+ end
272
+
273
+ # * Set the log date format.
274
+ #
275
+ # ==== Parameters
276
+ #
277
+ # * logDate:: - Date format of the log.
278
+
279
+ def setLogDateFormat(logDateFormat)
280
+ @logDateFormat = logDateFormat
281
+ end
282
+
283
+ # * Get the log date format.
284
+ #
285
+ # ==== Returns
286
+ #
287
+ # * Log date format.
288
+
289
+ def getLogDateFormat
290
+ return @logDateFormat
291
+ end
292
+
293
+ # * Set the log date.
294
+ #
295
+ # ==== Parameters
296
+ #
297
+ # * logDateLong:: - Date for the log.
298
+
299
+ def setLogDateLong(logDateLong)
300
+ @logDateLong = logDateLong
301
+ end
302
+
303
+ # * Get the log date.
304
+ #
305
+ # ==== Returns
306
+ #
307
+ # * Log date.
308
+
309
+ def getLogDateLong
310
+ return @logDateLong
311
+ end
312
+
313
+ # * Set the log date.
314
+ #
315
+ # ==== Parameters
316
+ #
317
+ # * date:: - Date for the log.
318
+
319
+ def setDate(date)
320
+ @logDate = date
321
+ end
322
+
323
+ # * Get the log date.
324
+ #
325
+ # ==== Returns
326
+ #
327
+ # * Log date.
328
+
329
+ def getDate
330
+ return @logDate
331
+ end
332
+
333
+ # * Convert the Log object into HashMap.
334
+ #
335
+ # ==== Returns
336
+ #
337
+ # * HashMap object.
338
+
339
+ def toParamMAP
340
+ requestBody = Hash.new
341
+
342
+ if logDate != nil
343
+ requestBody["date"] = logDate
344
+ end
345
+ if billStatus != nil
346
+ requestBody["bill_status"] = billStatus
347
+ end
348
+ if hours != nil
349
+ requestBody["hours"] = hours
350
+ end
351
+ if notes != nil
352
+ requestBody["notes"] = notes
353
+ end
354
+
355
+ return requestBody
356
+ end
357
+ end
358
+ end
359
+ end