zohoProjects 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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