freelancer 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +14 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +56 -0
  5. data/Rakefile +34 -0
  6. data/VERSION +1 -0
  7. data/freelancer.gemspec +299 -0
  8. data/init.rb +2 -0
  9. data/lib/freelancer.rb +59 -0
  10. data/lib/freelancer/api.rb +20 -0
  11. data/lib/freelancer/api/common.rb +58 -0
  12. data/lib/freelancer/api/employer.rb +56 -0
  13. data/lib/freelancer/api/freelancer.rb +36 -0
  14. data/lib/freelancer/api/job.rb +46 -0
  15. data/lib/freelancer/api/message.rb +89 -0
  16. data/lib/freelancer/api/notification.rb +25 -0
  17. data/lib/freelancer/api/payment.rb +123 -0
  18. data/lib/freelancer/api/profile.rb +30 -0
  19. data/lib/freelancer/api/project.rb +133 -0
  20. data/lib/freelancer/api/user.rb +86 -0
  21. data/lib/freelancer/client.rb +152 -0
  22. data/lib/freelancer/extensions/hash.rb +11 -0
  23. data/lib/freelancer/models/address.rb +46 -0
  24. data/lib/freelancer/models/balance.rb +22 -0
  25. data/lib/freelancer/models/bid.rb +41 -0
  26. data/lib/freelancer/models/config_version.rb +21 -0
  27. data/lib/freelancer/models/eligibility.rb +23 -0
  28. data/lib/freelancer/models/job.rb +33 -0
  29. data/lib/freelancer/models/job_category.rb +18 -0
  30. data/lib/freelancer/models/message.rb +32 -0
  31. data/lib/freelancer/models/milestone.rb +57 -0
  32. data/lib/freelancer/models/news.rb +15 -0
  33. data/lib/freelancer/models/notification.rb +15 -0
  34. data/lib/freelancer/models/notification_status.rb +45 -0
  35. data/lib/freelancer/models/project.rb +116 -0
  36. data/lib/freelancer/models/project_budget.rb +21 -0
  37. data/lib/freelancer/models/project_fee.rb +18 -0
  38. data/lib/freelancer/models/project_options.rb +34 -0
  39. data/lib/freelancer/models/rating.rb +21 -0
  40. data/lib/freelancer/models/review.rb +87 -0
  41. data/lib/freelancer/models/transaction.rb +39 -0
  42. data/lib/freelancer/models/user.rb +225 -0
  43. data/lib/freelancer/models/withdrawal.rb +51 -0
  44. data/lib/freelancer/models/withdrawal_fee.rb +39 -0
  45. data/lib/freelancer/support/json_mapper.rb +95 -0
  46. data/test/fixtures/common/get_config_version.json +1 -0
  47. data/test/fixtures/common/get_config_version.xml +5 -0
  48. data/test/fixtures/common/get_pending_feedback.json +1 -0
  49. data/test/fixtures/common/get_pending_feedback.xml +20 -0
  50. data/test/fixtures/common/get_terms.json +1 -0
  51. data/test/fixtures/common/get_terms.xml +4 -0
  52. data/test/fixtures/common/post_feedback.json +1 -0
  53. data/test/fixtures/common/post_feedback.xml +4 -0
  54. data/test/fixtures/common/post_reply_for_feedback.json +1 -0
  55. data/test/fixtures/common/post_reply_for_feedback.xml +4 -0
  56. data/test/fixtures/common/request_cancel_project.json +1 -0
  57. data/test/fixtures/common/request_cancel_project.xml +4 -0
  58. data/test/fixtures/common/request_withdraw_feedback.json +1 -0
  59. data/test/fixtures/common/request_withdraw_feedback.xml +4 -0
  60. data/test/fixtures/employer/choose_winner_for_project.json +1 -0
  61. data/test/fixtures/employer/choose_winner_for_project.xml +3 -0
  62. data/test/fixtures/employer/delete_draft_project.json +1 -0
  63. data/test/fixtures/employer/delete_draft_project.xml +4 -0
  64. data/test/fixtures/employer/eligible_for_trial_project.json +1 -0
  65. data/test/fixtures/employer/eligible_for_trial_project.xml +5 -0
  66. data/test/fixtures/employer/get_posted_project_list.json +1 -0
  67. data/test/fixtures/employer/get_posted_project_list.xml +38 -0
  68. data/test/fixtures/employer/invite_user_for_project.json +1 -0
  69. data/test/fixtures/employer/invite_user_for_project.xml +4 -0
  70. data/test/fixtures/employer/post_new_draft_project.json +1 -0
  71. data/test/fixtures/employer/post_new_draft_project.xml +5 -0
  72. data/test/fixtures/employer/post_new_project.json +1 -0
  73. data/test/fixtures/employer/post_new_project.xml +5 -0
  74. data/test/fixtures/employer/post_new_trial_project.json +1 -0
  75. data/test/fixtures/employer/post_new_trial_project.xml +5 -0
  76. data/test/fixtures/employer/publish_draft_project.json +1 -0
  77. data/test/fixtures/employer/publish_draft_project.xml +4 -0
  78. data/test/fixtures/employer/update_project_details.json +1 -0
  79. data/test/fixtures/employer/update_project_details.xml +4 -0
  80. data/test/fixtures/employer/upgrade_trial_project.json +1 -0
  81. data/test/fixtures/employer/upgrade_trial_project.xml +4 -0
  82. data/test/fixtures/freelancer/accept_bid_won.json +1 -0
  83. data/test/fixtures/freelancer/accept_bid_won.xml +4 -0
  84. data/test/fixtures/freelancer/get_project_list_for_placed_bids.json +1 -0
  85. data/test/fixtures/freelancer/get_project_list_for_placed_bids.xml +16 -0
  86. data/test/fixtures/freelancer/place_bid_on_project.json +1 -0
  87. data/test/fixtures/freelancer/place_bid_on_project.xml +4 -0
  88. data/test/fixtures/freelancer/retract_bid_from_project.json +1 -0
  89. data/test/fixtures/freelancer/retract_bid_from_project.xml +4 -0
  90. data/test/fixtures/job/get_category_job_list.json +1 -0
  91. data/test/fixtures/job/get_category_job_list.xml +34 -0
  92. data/test/fixtures/job/get_job_list.json +1 -0
  93. data/test/fixtures/job/get_job_list.xml +17 -0
  94. data/test/fixtures/job/get_my_job_list.json +1 -0
  95. data/test/fixtures/job/get_my_job_list.xml +11 -0
  96. data/test/fixtures/message/get_inbox_messages.json +1 -0
  97. data/test/fixtures/message/get_inbox_messages.xml +22 -0
  98. data/test/fixtures/message/get_sent_messages.json +1 -0
  99. data/test/fixtures/message/get_sent_messages.xml +22 -0
  100. data/test/fixtures/message/get_unread_count.json +1 -0
  101. data/test/fixtures/message/get_unread_count.xml +4 -0
  102. data/test/fixtures/message/load_message_thread.json +1 -0
  103. data/test/fixtures/message/load_message_thread.xml +54 -0
  104. data/test/fixtures/message/mark_message_as_read.json +1 -0
  105. data/test/fixtures/message/mark_message_as_read.xml +4 -0
  106. data/test/fixtures/message/send_message.json +1 -0
  107. data/test/fixtures/message/send_message.xml +4 -0
  108. data/test/fixtures/notification/get_news.json +1 -0
  109. data/test/fixtures/notification/get_news.xml +14 -0
  110. data/test/fixtures/notification/get_notification.json +1 -0
  111. data/test/fixtures/notification/get_notification.xml +10 -0
  112. data/test/fixtures/payment/cancel_milestone.json +1 -0
  113. data/test/fixtures/payment/cancel_milestone.xml +4 -0
  114. data/test/fixtures/payment/create_milestone_payment.json +1 -0
  115. data/test/fixtures/payment/create_milestone_payment.xml +4 -0
  116. data/test/fixtures/payment/get_account_balance_status.json +1 -0
  117. data/test/fixtures/payment/get_account_balance_status.xml +12 -0
  118. data/test/fixtures/payment/get_account_milestone_list.json +1 -0
  119. data/test/fixtures/payment/get_account_milestone_list.xml +30 -0
  120. data/test/fixtures/payment/get_account_transaction_list.json +1 -0
  121. data/test/fixtures/payment/get_account_transaction_list.xml +57 -0
  122. data/test/fixtures/payment/get_account_withdrawal_list.json +1 -0
  123. data/test/fixtures/payment/get_account_withdrawal_list.xml +42 -0
  124. data/test/fixtures/payment/get_balance.json +1 -0
  125. data/test/fixtures/payment/get_balance.xml +4 -0
  126. data/test/fixtures/payment/get_project_list_for_transfer.json +1 -0
  127. data/test/fixtures/payment/get_project_list_for_transfer.xml +52 -0
  128. data/test/fixtures/payment/get_withdrawal_fees.json +1 -0
  129. data/test/fixtures/payment/get_withdrawal_fees.xml +41 -0
  130. data/test/fixtures/payment/prepare_transfer.json +1 -0
  131. data/test/fixtures/payment/prepare_transfer.xml +4 -0
  132. data/test/fixtures/payment/release_milestone.json +1 -0
  133. data/test/fixtures/payment/release_milestone.xml +4 -0
  134. data/test/fixtures/payment/request_cancel_withdrawal.json +1 -0
  135. data/test/fixtures/payment/request_cancel_withdrawal.xml +4 -0
  136. data/test/fixtures/payment/request_release_milestone.json +1 -0
  137. data/test/fixtures/payment/request_release_milestone.xml +4 -0
  138. data/test/fixtures/payment/request_withdrawal.json +1 -0
  139. data/test/fixtures/payment/request_withdrawal.xml +6 -0
  140. data/test/fixtures/payment/transfer_money.json +1 -0
  141. data/test/fixtures/payment/transfer_money.xml +4 -0
  142. data/test/fixtures/profile/get_account_details.json +1 -0
  143. data/test/fixtures/profile/get_account_details.xml +71 -0
  144. data/test/fixtures/profile/get_profile_info.json +1 -0
  145. data/test/fixtures/profile/get_profile_info.xml +53 -0
  146. data/test/fixtures/profile/set_profile_info.json +1 -0
  147. data/test/fixtures/profile/set_profile_info.xml +4 -0
  148. data/test/fixtures/project/get_bids_details.json +1 -0
  149. data/test/fixtures/project/get_bids_details.xml +19 -0
  150. data/test/fixtures/project/get_project_budget_config.json +1 -0
  151. data/test/fixtures/project/get_project_budget_config.xml +42 -0
  152. data/test/fixtures/project/get_project_details.json +1 -0
  153. data/test/fixtures/project/get_project_details.xml +78 -0
  154. data/test/fixtures/project/get_project_fees.json +1 -0
  155. data/test/fixtures/project/get_project_fees.xml +31 -0
  156. data/test/fixtures/project/get_public_messages.json +1 -0
  157. data/test/fixtures/project/get_public_messages.xml +27 -0
  158. data/test/fixtures/project/get_sent_messages.xml +22 -0
  159. data/test/fixtures/project/get_unread_count.xml +4 -0
  160. data/test/fixtures/project/load_message_thread.xml +54 -0
  161. data/test/fixtures/project/mark_message_as_read.xml +4 -0
  162. data/test/fixtures/project/post_public_message.json +1 -0
  163. data/test/fixtures/project/post_public_message.xml +4 -0
  164. data/test/fixtures/project/search_projects.json +1 -0
  165. data/test/fixtures/project/search_projects.xml +37 -0
  166. data/test/fixtures/project/send_message.xml +4 -0
  167. data/test/fixtures/user/get_user_details.json +1 -0
  168. data/test/fixtures/user/get_user_details.xml +32 -0
  169. data/test/fixtures/user/get_user_feedback.json +1 -0
  170. data/test/fixtures/user/get_user_feedback.xml +58 -0
  171. data/test/fixtures/user/get_users_by_search.json +1 -0
  172. data/test/fixtures/user/get_users_by_search.xml +26 -0
  173. data/test/freelancer/api/common_api_test.rb +82 -0
  174. data/test/freelancer/api/employer_api_test.rb +105 -0
  175. data/test/freelancer/api/freelancer_api_test.rb +72 -0
  176. data/test/freelancer/api/job_api_test.rb +76 -0
  177. data/test/freelancer/api/message_api_test.rb +144 -0
  178. data/test/freelancer/api/notification_api_test.rb +56 -0
  179. data/test/freelancer/api/payment_api_test.rb +225 -0
  180. data/test/freelancer/api/profile_api_test.rb +54 -0
  181. data/test/freelancer/api/project_api_test.rb +229 -0
  182. data/test/freelancer/api/user_api_test.rb +153 -0
  183. data/test/freelancer/client_test.rb +5 -0
  184. data/test/freelancer/models/balance_test.rb +24 -0
  185. data/test/freelancer/models/bid_test.rb +25 -0
  186. data/test/freelancer/models/config_version.rb +14 -0
  187. data/test/freelancer/models/eligibility_test.rb +14 -0
  188. data/test/freelancer/models/job_category_test.rb +16 -0
  189. data/test/freelancer/models/job_test.rb +19 -0
  190. data/test/freelancer/models/message_test.rb +42 -0
  191. data/test/freelancer/models/milestone_test.rb +21 -0
  192. data/test/freelancer/models/news_test.rb +15 -0
  193. data/test/freelancer/models/notification_test.rb +15 -0
  194. data/test/freelancer/models/project_budget_test.rb +18 -0
  195. data/test/freelancer/models/project_fee_test.rb +17 -0
  196. data/test/freelancer/models/project_test.rb +97 -0
  197. data/test/freelancer/models/review_test.rb +36 -0
  198. data/test/freelancer/models/transaction_test.rb +29 -0
  199. data/test/freelancer/models/user_test.rb +94 -0
  200. data/test/freelancer/models/withdrawal_fee_test.rb +19 -0
  201. data/test/freelancer/models/withdrawal_test.rb +20 -0
  202. data/test/freelancer/oauth_test.rb +112 -0
  203. data/test/freelancer_test.rb +1 -0
  204. data/test/test_helper.rb +42 -0
  205. metadata +427 -0
@@ -0,0 +1,21 @@
1
+ module Freelancer
2
+ module Models
3
+ class ProjectBudget
4
+
5
+ include JSONMapper
6
+
7
+ # Budget id
8
+ json_attribute :id, Integer
9
+
10
+ # Minimum budget
11
+ json_attribute :minimum_budget, :minbudget, Integer
12
+
13
+ # Maximum budget
14
+ json_attribute :maximum_budget, :maxbudget, Integer
15
+
16
+ # Budget name
17
+ json_attribute :name, String
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ module Freelancer
2
+ module Models
3
+ class ProjectFee
4
+
5
+ include JSONMapper
6
+
7
+ # The project type of the fee
8
+ json_attribute :project_type, :projecttype, String
9
+
10
+ # The project description of the fee
11
+ json_attribute :project_description, :projectdesc, String
12
+
13
+ # The fee for the project type
14
+ json_attribute :fee, :projectfees, Integer
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,34 @@
1
+ module Freelancer
2
+ module Models
3
+ class ProjectOptions
4
+
5
+ include JSONMapper
6
+
7
+ # Featured project
8
+ json_attribute :featured, Boolean
9
+
10
+ # Non public project
11
+ json_attribute :non_public, :nonpublic, Boolean
12
+
13
+ # Trial project
14
+ json_attribute :trial, Boolean
15
+
16
+ # Full time project
17
+ json_attribute :full_time, :fulltime, Boolean
18
+
19
+ # Gold members only project
20
+ json_attribute :gold_members_only, :for_gold_members, Boolean
21
+
22
+ # Hidden bids
23
+ json_attribute :hidden_bids, Boolean
24
+
25
+ def featured?; self.featured; end
26
+ def non_public?; self.non_public; end
27
+ def trial?; self.trial; end
28
+ def full_time?; self.full_time; end
29
+ def gold_members_only?; self.gold_members_only; end
30
+ def hidden_bids?; self.hidden_bids; end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ module Freelancer
2
+ module Models
3
+ class Rating
4
+
5
+ include JSONMapper
6
+
7
+ # The average rating
8
+ #
9
+ # Provided from:
10
+ # - /User/getUserDetails.json
11
+ json_attribute :average, :avg, Integer
12
+
13
+ # The number of ratings
14
+ #
15
+ # Provided from:
16
+ # - /User/getUserDetails.json
17
+ json_attribute :count, Integer
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,87 @@
1
+ module Freelancer
2
+ module Models
3
+ class Review
4
+
5
+ include JSONMapper
6
+
7
+ # The username of the user that wrote the review
8
+ #
9
+ # Provided from:
10
+ # - /User/getUserFeedback.json
11
+ json_attribute :reviewer_username, :reviewername, String
12
+
13
+ # The user id of the user that wrote the review
14
+ #
15
+ # Provided from:
16
+ # - /User/getUserFeedback.json
17
+ json_attribute :reviewer_id, :revieweruserid, Integer
18
+
19
+ # The username of the user that received the review
20
+ #
21
+ # Provided from:
22
+ # - /Common/getPendingFeedback.json
23
+ json_attribute :username, String
24
+
25
+ # The id of the user that received the review
26
+ #
27
+ # Provided from:
28
+ # - /Common/getPendingFeedback.json
29
+ json_attribute :user_id, :userid, Integer
30
+
31
+ # The name of the project that has been reviewed
32
+ #
33
+ # Provided from:
34
+ # - /User/getUserFeedback.json
35
+ json_attribute :project_name, :projectname, String
36
+
37
+ # The id of the project that has been reviewed
38
+ #
39
+ # Provided from:
40
+ # - /User/getUserFeedback.json
41
+ json_attribute :project_id, :projectid, Integer
42
+
43
+ # The amount of the winning bid
44
+ #
45
+ # Provided from:
46
+ # - /User/getUserFeedback.json
47
+ json_attribute :winning_bid, :winnerbid, Integer
48
+
49
+ # The date which the ability to rate ends for this project
50
+ #
51
+ # Provided from:
52
+ # - /Common/getPendingFeedback.json
53
+ json_attribute :rateable_until, :rateuntil, DateTime
54
+
55
+ # The status of the project in regards to the feedback
56
+ #
57
+ # Provided from:
58
+ # - /Common/getPendingFeedback.json
59
+ json_attribute :status, String
60
+
61
+ # The date of the review
62
+ #
63
+ # Provided from:
64
+ # - /User/getUserFeedback.json
65
+ json_attribute :reviewed_at, :reviewdate, DateTime
66
+
67
+ # The rating of the review
68
+ #
69
+ # Provided from:
70
+ # - /User/getUserFeedback.json
71
+ json_attribute :rating, Integer
72
+
73
+ # The comment of the review
74
+ #
75
+ # Provided from:
76
+ # - /User/getUserFeedback.json
77
+ json_attribute :comment, :commenttext, String
78
+
79
+ # The reviewed users reply on the feedback
80
+ #
81
+ # Provided from:
82
+ # - /User/getUserFeedback.json
83
+ json_attribute :reply, :userreplyoncomment, String
84
+
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,39 @@
1
+ module Freelancer
2
+ module Models
3
+ class Transaction
4
+
5
+ include JSONMapper
6
+
7
+ # The id of the transaction
8
+ #
9
+ # Provided from:
10
+ # - /Payment/getAccountBalanceStatus.json
11
+ json_attribute :id, :transactionid, Integer
12
+
13
+ # The user id the transaction is for
14
+ #
15
+ # Provided from:
16
+ # - /Payment/getAccountBalanceStatus.json
17
+ json_attribute :user_id, :transuserid, Integer
18
+
19
+ # The amount of money involved in the transaction
20
+ #
21
+ # Provided from:
22
+ # - /Payment/getAccountBalanceStatus.json
23
+ json_attribute :balance, :balanceamount, Float
24
+
25
+ # The time the transaction was made
26
+ #
27
+ # Provided from:
28
+ # - /Payment/getAccountBalanceStatus.json
29
+ json_attribute :made_at, :transdatetime, DateTime
30
+
31
+ # The description of the transaction
32
+ #
33
+ # Provided from:
34
+ # - /Payment/getAccountBalanceStatus.json
35
+ json_attribute :description, :transtext, String
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,225 @@
1
+ module Freelancer
2
+ module Models
3
+ class User
4
+
5
+ include JSONMapper
6
+
7
+ # The ID of the user
8
+ #
9
+ # Provided from:
10
+ # - /User/getUserDetails.json
11
+ # - /User/getUsersBySearch.json
12
+ # - /Profile/getAccountDetails.json
13
+ json_attribute :id, [ :id, :userid, :provider_userid, :fromuserid, :touserid ], Integer
14
+
15
+ # The username of the user
16
+ #
17
+ # Provided from:
18
+ # - /User/getUserDetails.json
19
+ # - /User/getUsersBySearch.json
20
+ # - /Profile/getAccountDetails.json
21
+ json_attribute :username, [ :username, :provider, :fromusername, :tousername ], String
22
+
23
+ # The full name of the user
24
+ #
25
+ # Provided from:
26
+ # - /Profile/getAccountDetails.json
27
+ json_attribute :name, :fullname, String
28
+
29
+ # The URL to the profile page of the user
30
+ #
31
+ # Provided from:
32
+ # - /User/getUserDetails.json
33
+ json_attribute :url, String
34
+
35
+ # The URL to the logo for the user
36
+ #
37
+ # Provided from:
38
+ # - /User/getUserDetails.json
39
+ json_attribute :logo_url, String
40
+
41
+ # The URL to the profile logo for the user
42
+ #
43
+ # Provided from:
44
+ # - /User/getUserDetails.json
45
+ json_attribute :profile_logo_url, String
46
+
47
+ # The URL to the users picture
48
+ #
49
+ # Provided from:
50
+ # - /Profile/getAccountDetails.json
51
+ json_attribute :picture_url, String
52
+
53
+ # The users address
54
+ #
55
+ # Provided from:
56
+ # - /User/getUserDetails.json
57
+ # - /User/getUsersBySearch.json
58
+ # - /Profile/getAccountDetails.json
59
+ json_attribute :address, [ :address, "self" ], Address
60
+
61
+ # The users phone number
62
+ #
63
+ # Provided from:
64
+ # - /Profile/getAccountDetails.json
65
+ json_attribute :phone_number, :phone, String
66
+
67
+ # The users fax number
68
+ #
69
+ # Provided from:
70
+ # - /Profile/getAccountDetails.json
71
+ json_attribute :fax_number, :fax, String
72
+
73
+ # The users profile text
74
+ #
75
+ # Provided from:
76
+ # - /Profile/getAccountDetails.json
77
+ json_attribute :profile_text, :profiletext, String
78
+
79
+ # The users profile vision
80
+ #
81
+ # Provided from:
82
+ # - /Profile/getAccountDetails.json
83
+ json_attribute :vision, String
84
+
85
+ # The users keywords
86
+ #
87
+ # Provided from:
88
+ # - /Profile/getAccountDetails.json
89
+ json_attribute :keywords, String
90
+
91
+ # The date and time when the user was registered at
92
+ #
93
+ # Provided from:
94
+ # - /User/getUserDetails.json
95
+ json_attribute :registered_at, :reg_date, DateTime
96
+
97
+ # The company the user is representing at
98
+ #
99
+ # Provided from:
100
+ # - /User/getUserDetails.json
101
+ # - /User/getUserBySearch.json
102
+ # - /Profile/getAccountDetails.json
103
+ json_attribute :company, [ :company, :company_name ], String
104
+
105
+ # The type of work the user is registered for
106
+ #
107
+ # Provided from:
108
+ # - /Profile/getAccountDetails.json
109
+ json_attribute :type_of_work, String
110
+
111
+ # The hourly rate for the user
112
+ #
113
+ # Provided from:
114
+ # - /User/getUserDetails.json
115
+ # - /Profile/getAccountDetails.json
116
+ json_attribute :hourly_rate, :hourlyrate, Integer
117
+
118
+ # The average pricing for the user
119
+ #
120
+ # Provided from:
121
+ # - /User/getUsersBySearch.json
122
+ json_attribute :average_pricing, :averagepricing, Integer
123
+
124
+ # An array of strings specifying what job types the user is accepting
125
+ #
126
+ # Provided from:
127
+ # - /User/getUserDetails.json
128
+ json_attributes :job_types, :jobs, String
129
+
130
+ # An array of strings specifying what skills the user is accepting
131
+ #
132
+ # Provided from:
133
+ # - /Profile/getAccountDetails.json
134
+ json_attributes :skills, DelimitedString, :delimiter => "\n"
135
+
136
+ # An array of strings specifying the users qualifications
137
+ #
138
+ # Provided from:
139
+ # - /Profile/getAccountDetails.json
140
+ json_attributes :qualifications, :qualificationcsv, DelimitedString
141
+
142
+ # The notification status settings for the user
143
+ #
144
+ # Provided from:
145
+ # - /Profile/getAccountDetails.json
146
+ json_attribute :notifications, "self", NotificationStatus
147
+
148
+ # If the user has the gold status enabled
149
+ #
150
+ # Provided from:
151
+ # - /User/getUserDetails.json
152
+ json_attribute :gold_status, :gold, Boolean
153
+
154
+ # The list of open projects where the user is a buyer
155
+ #
156
+ # Provided from:
157
+ # - /Profile/getAccountDetails.json
158
+ json_attributes :open_buyer_projects, :openBuyerProjectList, Project
159
+
160
+ # The list of closed projects where the user is a buyer
161
+ #
162
+ # Provided from:
163
+ # - /Profile/getAccountDetails.json
164
+ json_attributes :closed_buyer_projects, :closedBuyerProjectList, Project
165
+
166
+ # The list of frozen projects where the user is a buyer
167
+ #
168
+ # Provided from:
169
+ # - /Profile/getAccountDetails.json
170
+ json_attributes :frozen_buyer_projects, :frozenBuyerProjectList, Project
171
+
172
+ # The list of bid on projects where the user is a seller
173
+ #
174
+ # Provided from:
175
+ # - /Profile/getAccountDetails.json
176
+ json_attributes :bid_seller_projects, :bidSellerProjectList, Project
177
+
178
+ # The list of won projects where the user is a seller
179
+ #
180
+ # Provided from:
181
+ # - /Profile/getAccountDetails.json
182
+ json_attributes :won_seller_projects, :wonSellerProjectList, Project
183
+
184
+ # The list of lost projects where the user is a seller
185
+ #
186
+ # Provided from:
187
+ # - /Profile/getAccountDetails.json
188
+ json_attributes :lost_seller_projects, :lostSellerProjectList, Project
189
+
190
+ # The users rating
191
+ #
192
+ # Provided from:
193
+ # - /User/getUserDetails.json
194
+ json_attribute :rating, Rating
195
+
196
+ # The users rating as a provider
197
+ #
198
+ # Provided from:
199
+ # - /User/getUserDetails.json
200
+ json_attribute :provider_rating, Rating
201
+
202
+ # The users rating as a buyer
203
+ #
204
+ # Provided from:
205
+ # - /User/getUserDetails.json
206
+ json_attribute :buyer_rating, Rating
207
+
208
+ # The project award status for a user. This is only
209
+ # available when associated with a project as a
210
+ # seller.
211
+ json_attribute :award_status, :awardStatus, String
212
+
213
+ # The amount bid for the project. This is only
214
+ # available when associated with a project as the
215
+ # selected freelancer.
216
+ json_attribute :bid_amount, :bidamount, Integer
217
+
218
+ # The amount paid for the project. This is only
219
+ # available when associated with a project as the
220
+ # selected freelancer.
221
+ json_attribute :paid_amount, :paidamount, Integer
222
+
223
+ end
224
+ end
225
+ end