freelancer 0.1.0

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 (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