osdn-client 0.0.20161003 → 0.0.20171120

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 (186) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +168 -6
  3. data/docs/FrsAdminPrefs.md +9 -0
  4. data/docs/Group.md +1 -3
  5. data/docs/GroupProfile.md +10 -0
  6. data/docs/GroupProfilePerLanguage.md +10 -0
  7. data/docs/GroupToolFlags.md +1 -2
  8. data/docs/History.md +15 -0
  9. data/docs/I18NText.md +9 -0
  10. data/docs/ProjectApi.md +4021 -209
  11. data/docs/ProjectBzr.md +22 -0
  12. data/docs/ProjectFrsApi.md +118 -4
  13. data/docs/ProjectGit.md +27 -0
  14. data/docs/ProjectHg.md +22 -0
  15. data/docs/ProjectSCM.md +22 -0
  16. data/docs/ProjectSCMApi.md +1214 -0
  17. data/docs/ProjectSCMLastCommit.md +11 -0
  18. data/docs/ProjectSvn.md +25 -0
  19. data/docs/ProjectTicketApi.md +1847 -0
  20. data/docs/ProjectTicketComment.md +13 -0
  21. data/docs/ProjectTicketComponent.md +14 -0
  22. data/docs/ProjectTicketComponentSummary.md +10 -0
  23. data/docs/ProjectTicketComponentSummarySummarizedBy.md +12 -0
  24. data/docs/ProjectTicketHistory.md +14 -0
  25. data/docs/ProjectTicketItem.md +25 -0
  26. data/docs/ProjectTicketMilestone.md +14 -0
  27. data/docs/ProjectTicketMilestoneSummary.md +10 -0
  28. data/docs/ProjectTicketMilestoneSummarySummarizedBy.md +12 -0
  29. data/docs/ProjectTicketPrefs.md +13 -0
  30. data/docs/ProjectTicketType.md +15 -0
  31. data/docs/ProjectTicketTypeInstructionPerLanguage.md +9 -0
  32. data/docs/ProjectTicketTypeInstructions.md +9 -0
  33. data/docs/ProjectTicketTypeSummary.md +10 -0
  34. data/docs/ProjectTicketTypeSummarySummarizedBy.md +12 -0
  35. data/docs/ProjectWeb.md +8 -0
  36. data/docs/ScmHook.md +18 -0
  37. data/docs/SummariadByComponent.md +7 -0
  38. data/docs/SummariadByComponentInner.md +10 -0
  39. data/docs/SummariadByMilestone.md +7 -0
  40. data/docs/SummariadByMilestoneInner.md +10 -0
  41. data/docs/SummariadByOwner.md +7 -0
  42. data/docs/SummariadByOwnerInner.md +10 -0
  43. data/docs/SummariadByPriority.md +7 -0
  44. data/docs/SummariadByPriorityInner.md +10 -0
  45. data/docs/SummariadBySeverity.md +7 -0
  46. data/docs/SummariadBySeverityInner.md +10 -0
  47. data/docs/SummariadByType.md +7 -0
  48. data/docs/SummariadByTypeInner.md +10 -0
  49. data/docs/User.md +5 -3
  50. data/docs/UserApi.md +279 -0
  51. data/docs/UserImages.md +12 -0
  52. data/docs/UserStats.md +33 -0
  53. data/lib/osdn-client.rb +45 -1
  54. data/lib/osdn-client/api/default_api.rb +1 -1
  55. data/lib/osdn-client/api/project_api.rb +4574 -396
  56. data/lib/osdn-client/api/project_frs_api.rb +122 -5
  57. data/lib/osdn-client/api/project_news_api.rb +1 -1
  58. data/lib/osdn-client/api/project_scm_api.rb +1310 -0
  59. data/lib/osdn-client/api/project_ticket_api.rb +2124 -0
  60. data/lib/osdn-client/api/user_api.rb +294 -1
  61. data/lib/osdn-client/api_client.rb +1 -1
  62. data/lib/osdn-client/api_error.rb +1 -1
  63. data/lib/osdn-client/configuration.rb +1 -1
  64. data/lib/osdn-client/models/frs_admin_prefs.rb +208 -0
  65. data/lib/osdn-client/models/group.rb +8 -26
  66. data/lib/osdn-client/models/group_profile.rb +223 -0
  67. data/lib/osdn-client/models/group_profile_per_language.rb +217 -0
  68. data/lib/osdn-client/models/group_tool_flags.rb +11 -20
  69. data/lib/osdn-client/models/history.rb +262 -0
  70. data/lib/osdn-client/models/i18_n_text.rb +208 -0
  71. data/lib/osdn-client/models/news.rb +1 -1
  72. data/lib/osdn-client/models/package.rb +1 -1
  73. data/lib/osdn-client/models/pong.rb +1 -1
  74. data/lib/osdn-client/models/project_bzr.rb +329 -0
  75. data/lib/osdn-client/models/project_git.rb +374 -0
  76. data/lib/osdn-client/models/project_hg.rb +329 -0
  77. data/lib/osdn-client/models/project_scm.rb +329 -0
  78. data/lib/osdn-client/models/project_scm_last_commit.rb +226 -0
  79. data/lib/osdn-client/models/project_svn.rb +356 -0
  80. data/lib/osdn-client/models/project_ticket_comment.rb +244 -0
  81. data/lib/osdn-client/models/project_ticket_component.rb +253 -0
  82. data/lib/osdn-client/models/project_ticket_component_summary.rb +217 -0
  83. data/lib/osdn-client/models/project_ticket_component_summary_summarized_by.rb +235 -0
  84. data/lib/osdn-client/models/project_ticket_history.rb +253 -0
  85. data/lib/osdn-client/models/project_ticket_item.rb +356 -0
  86. data/lib/osdn-client/models/project_ticket_milestone.rb +253 -0
  87. data/lib/osdn-client/models/project_ticket_milestone_summary.rb +217 -0
  88. data/lib/osdn-client/models/project_ticket_milestone_summary_summarized_by.rb +235 -0
  89. data/lib/osdn-client/models/project_ticket_prefs.rb +244 -0
  90. data/lib/osdn-client/models/project_ticket_type.rb +266 -0
  91. data/lib/osdn-client/models/project_ticket_type_instruction_per_language.rb +208 -0
  92. data/lib/osdn-client/models/project_ticket_type_instructions.rb +212 -0
  93. data/lib/osdn-client/models/project_ticket_type_summary.rb +217 -0
  94. data/lib/osdn-client/models/project_ticket_type_summary_summarized_by.rb +235 -0
  95. data/lib/osdn-client/models/project_web.rb +199 -0
  96. data/lib/osdn-client/models/rel_file.rb +1 -1
  97. data/lib/osdn-client/models/release.rb +1 -1
  98. data/lib/osdn-client/models/scm_hook.rb +289 -0
  99. data/lib/osdn-client/models/simple_chamber.rb +1 -1
  100. data/lib/osdn-client/models/simple_group.rb +1 -1
  101. data/lib/osdn-client/models/simple_user.rb +1 -1
  102. data/lib/osdn-client/models/skill.rb +1 -1
  103. data/lib/osdn-client/models/summariad_by_component.rb +190 -0
  104. data/lib/osdn-client/models/summariad_by_component_inner.rb +217 -0
  105. data/lib/osdn-client/models/summariad_by_milestone.rb +190 -0
  106. data/lib/osdn-client/models/summariad_by_milestone_inner.rb +217 -0
  107. data/lib/osdn-client/models/summariad_by_owner.rb +190 -0
  108. data/lib/osdn-client/models/summariad_by_owner_inner.rb +217 -0
  109. data/lib/osdn-client/models/summariad_by_priority.rb +190 -0
  110. data/lib/osdn-client/models/summariad_by_priority_inner.rb +217 -0
  111. data/lib/osdn-client/models/summariad_by_severity.rb +190 -0
  112. data/lib/osdn-client/models/summariad_by_severity_inner.rb +217 -0
  113. data/lib/osdn-client/models/summariad_by_type.rb +190 -0
  114. data/lib/osdn-client/models/summariad_by_type_inner.rb +217 -0
  115. data/lib/osdn-client/models/token.rb +1 -1
  116. data/lib/osdn-client/models/user.rb +38 -18
  117. data/lib/osdn-client/models/user_images.rb +235 -0
  118. data/lib/osdn-client/models/user_stats.rb +424 -0
  119. data/lib/osdn-client/version.rb +2 -2
  120. data/osdn-client.gemspec +1 -1
  121. data/spec/api/default_api_spec.rb +1 -1
  122. data/spec/api/project_api_spec.rb +899 -3
  123. data/spec/api/project_frs_api_spec.rb +28 -3
  124. data/spec/api/project_news_api_spec.rb +1 -1
  125. data/spec/api/project_scm_api_spec.rb +324 -0
  126. data/spec/api/project_ticket_api_spec.rb +488 -0
  127. data/spec/api/user_api_spec.rb +63 -1
  128. data/spec/api_client_spec.rb +1 -1
  129. data/spec/configuration_spec.rb +1 -1
  130. data/spec/models/frs_admin_prefs_spec.rb +59 -0
  131. data/spec/models/group_profile_per_language_spec.rb +65 -0
  132. data/spec/models/group_profile_spec.rb +65 -0
  133. data/spec/models/group_spec.rb +2 -14
  134. data/spec/models/group_tool_flags_spec.rb +3 -9
  135. data/spec/models/history_spec.rb +95 -0
  136. data/spec/models/i18_n_text_spec.rb +59 -0
  137. data/spec/models/news_spec.rb +1 -1
  138. data/spec/models/package_spec.rb +1 -1
  139. data/spec/models/pong_spec.rb +1 -1
  140. data/spec/models/project_bzr_spec.rb +137 -0
  141. data/spec/models/project_git_spec.rb +167 -0
  142. data/spec/models/project_hg_spec.rb +137 -0
  143. data/spec/models/project_scm_last_commit_spec.rb +71 -0
  144. data/spec/models/project_scm_spec.rb +137 -0
  145. data/spec/models/project_svn_spec.rb +155 -0
  146. data/spec/models/project_ticket_comment_spec.rb +83 -0
  147. data/spec/models/project_ticket_component_spec.rb +89 -0
  148. data/spec/models/project_ticket_component_summary_spec.rb +65 -0
  149. data/spec/models/project_ticket_component_summary_summarized_by_spec.rb +77 -0
  150. data/spec/models/project_ticket_history_spec.rb +89 -0
  151. data/spec/models/project_ticket_item_spec.rb +155 -0
  152. data/spec/models/project_ticket_milestone_spec.rb +89 -0
  153. data/spec/models/project_ticket_milestone_summary_spec.rb +65 -0
  154. data/spec/models/project_ticket_milestone_summary_summarized_by_spec.rb +77 -0
  155. data/spec/models/project_ticket_prefs_spec.rb +83 -0
  156. data/spec/models/project_ticket_type_instruction_per_language_spec.rb +59 -0
  157. data/spec/models/project_ticket_type_instructions_spec.rb +59 -0
  158. data/spec/models/project_ticket_type_spec.rb +95 -0
  159. data/spec/models/project_ticket_type_summary_spec.rb +65 -0
  160. data/spec/models/project_ticket_type_summary_summarized_by_spec.rb +77 -0
  161. data/spec/models/project_web_spec.rb +53 -0
  162. data/spec/models/rel_file_spec.rb +1 -1
  163. data/spec/models/release_spec.rb +1 -1
  164. data/spec/models/scm_hook_spec.rb +113 -0
  165. data/spec/models/simple_chamber_spec.rb +1 -1
  166. data/spec/models/simple_group_spec.rb +1 -1
  167. data/spec/models/simple_user_spec.rb +1 -1
  168. data/spec/models/skill_spec.rb +1 -1
  169. data/spec/models/summariad_by_component_inner_spec.rb +65 -0
  170. data/spec/models/summariad_by_component_spec.rb +47 -0
  171. data/spec/models/summariad_by_milestone_inner_spec.rb +65 -0
  172. data/spec/models/summariad_by_milestone_spec.rb +47 -0
  173. data/spec/models/summariad_by_owner_inner_spec.rb +65 -0
  174. data/spec/models/summariad_by_owner_spec.rb +47 -0
  175. data/spec/models/summariad_by_priority_inner_spec.rb +65 -0
  176. data/spec/models/summariad_by_priority_spec.rb +47 -0
  177. data/spec/models/summariad_by_severity_inner_spec.rb +65 -0
  178. data/spec/models/summariad_by_severity_spec.rb +47 -0
  179. data/spec/models/summariad_by_type_inner_spec.rb +65 -0
  180. data/spec/models/summariad_by_type_spec.rb +47 -0
  181. data/spec/models/token_spec.rb +1 -1
  182. data/spec/models/user_images_spec.rb +77 -0
  183. data/spec/models/user_spec.rb +16 -4
  184. data/spec/models/user_stats_spec.rb +203 -0
  185. data/spec/spec_helper.rb +1 -1
  186. metadata +179 -3
@@ -3,7 +3,7 @@
3
3
 
4
4
  #OSDN REST API. Currently this API is experimental release. Pelase refer documentation on https://osdn.net/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.net/projects/osdn-codes/releases/p14859 .
5
5
 
6
- OpenAPI spec version: 0.0.20161003
6
+ OpenAPI spec version: 0.0.20171120
7
7
  Contact: admin@osdn.net
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  #OSDN REST API. Currently this API is experimental release. Pelase refer documentation on https://osdn.net/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.net/projects/osdn-codes/releases/p14859 .
5
5
 
6
- OpenAPI spec version: 0.0.20161003
6
+ OpenAPI spec version: 0.0.20171120
7
7
  Contact: admin@osdn.net
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
 
@@ -32,11 +32,13 @@ module OSDNClient
32
32
 
33
33
  attr_accessor :display_name
34
34
 
35
- attr_accessor :unix_status
35
+ attr_accessor :authorized_keys
36
36
 
37
- attr_accessor :unix_uid
37
+ attr_accessor :email
38
38
 
39
- attr_accessor :authorized_keys
39
+ attr_accessor :ranking
40
+
41
+ attr_accessor :blog
40
42
 
41
43
  attr_accessor :timezone
42
44
 
@@ -46,6 +48,8 @@ module OSDNClient
46
48
 
47
49
  attr_accessor :language
48
50
 
51
+ attr_accessor :images
52
+
49
53
  attr_accessor :groups
50
54
 
51
55
  attr_accessor :chambers
@@ -59,13 +63,15 @@ module OSDNClient
59
63
  :'id' => :'id',
60
64
  :'name' => :'name',
61
65
  :'display_name' => :'display_name',
62
- :'unix_status' => :'unix_status',
63
- :'unix_uid' => :'unix_uid',
64
66
  :'authorized_keys' => :'authorized_keys',
67
+ :'email' => :'email',
68
+ :'ranking' => :'ranking',
69
+ :'blog' => :'blog',
65
70
  :'timezone' => :'timezone',
66
71
  :'last_update' => :'last_update',
67
72
  :'add_date' => :'add_date',
68
73
  :'language' => :'language',
74
+ :'images' => :'images',
69
75
  :'groups' => :'groups',
70
76
  :'chambers' => :'chambers',
71
77
  :'skills' => :'skills'
@@ -78,13 +84,15 @@ module OSDNClient
78
84
  :'id' => :'Integer',
79
85
  :'name' => :'String',
80
86
  :'display_name' => :'String',
81
- :'unix_status' => :'BOOLEAN',
82
- :'unix_uid' => :'Integer',
83
- :'authorized_keys' => :'String',
87
+ :'authorized_keys' => :'Array<String>',
88
+ :'email' => :'String',
89
+ :'ranking' => :'Integer',
90
+ :'blog' => :'String',
84
91
  :'timezone' => :'String',
85
92
  :'last_update' => :'DateTime',
86
93
  :'add_date' => :'DateTime',
87
94
  :'language' => :'String',
95
+ :'images' => :'UserImages',
88
96
  :'groups' => :'Array<SimpleGroup>',
89
97
  :'chambers' => :'Array<SimpleChamber>',
90
98
  :'skills' => :'Array<Skill>'
@@ -111,16 +119,22 @@ module OSDNClient
111
119
  self.display_name = attributes[:'display_name']
112
120
  end
113
121
 
114
- if attributes.has_key?(:'unix_status')
115
- self.unix_status = attributes[:'unix_status']
122
+ if attributes.has_key?(:'authorized_keys')
123
+ if (value = attributes[:'authorized_keys']).is_a?(Array)
124
+ self.authorized_keys = value
125
+ end
116
126
  end
117
127
 
118
- if attributes.has_key?(:'unix_uid')
119
- self.unix_uid = attributes[:'unix_uid']
128
+ if attributes.has_key?(:'email')
129
+ self.email = attributes[:'email']
120
130
  end
121
131
 
122
- if attributes.has_key?(:'authorized_keys')
123
- self.authorized_keys = attributes[:'authorized_keys']
132
+ if attributes.has_key?(:'ranking')
133
+ self.ranking = attributes[:'ranking']
134
+ end
135
+
136
+ if attributes.has_key?(:'blog')
137
+ self.blog = attributes[:'blog']
124
138
  end
125
139
 
126
140
  if attributes.has_key?(:'timezone')
@@ -139,6 +153,10 @@ module OSDNClient
139
153
  self.language = attributes[:'language']
140
154
  end
141
155
 
156
+ if attributes.has_key?(:'images')
157
+ self.images = attributes[:'images']
158
+ end
159
+
142
160
  if attributes.has_key?(:'groups')
143
161
  if (value = attributes[:'groups']).is_a?(Array)
144
162
  self.groups = value
@@ -180,13 +198,15 @@ module OSDNClient
180
198
  id == o.id &&
181
199
  name == o.name &&
182
200
  display_name == o.display_name &&
183
- unix_status == o.unix_status &&
184
- unix_uid == o.unix_uid &&
185
201
  authorized_keys == o.authorized_keys &&
202
+ email == o.email &&
203
+ ranking == o.ranking &&
204
+ blog == o.blog &&
186
205
  timezone == o.timezone &&
187
206
  last_update == o.last_update &&
188
207
  add_date == o.add_date &&
189
208
  language == o.language &&
209
+ images == o.images &&
190
210
  groups == o.groups &&
191
211
  chambers == o.chambers &&
192
212
  skills == o.skills
@@ -201,7 +221,7 @@ module OSDNClient
201
221
  # Calculates hash code according to all attributes.
202
222
  # @return [Fixnum] Hash code
203
223
  def hash
204
- [id, name, display_name, unix_status, unix_uid, authorized_keys, timezone, last_update, add_date, language, groups, chambers, skills].hash
224
+ [id, name, display_name, authorized_keys, email, ranking, blog, timezone, last_update, add_date, language, images, groups, chambers, skills].hash
205
225
  end
206
226
 
207
227
  # Builds the object from hash
@@ -0,0 +1,235 @@
1
+ =begin
2
+ #OSDN REST API v0 beta
3
+
4
+ #OSDN REST API. Currently this API is experimental release. Pelase refer documentation on https://osdn.net/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.net/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20171120
7
+ Contact: admin@osdn.net
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require 'date'
25
+
26
+ module OSDNClient
27
+
28
+ class UserImages
29
+ attr_accessor :icon
30
+
31
+ attr_accessor :photo_36
32
+
33
+ attr_accessor :photo_92
34
+
35
+ attr_accessor :photo_128
36
+
37
+ attr_accessor :photo_256
38
+
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'icon' => :'icon',
44
+ :'photo_36' => :'photo_36',
45
+ :'photo_92' => :'photo_92',
46
+ :'photo_128' => :'photo_128',
47
+ :'photo_256' => :'photo_256'
48
+ }
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.swagger_types
53
+ {
54
+ :'icon' => :'String',
55
+ :'photo_36' => :'String',
56
+ :'photo_92' => :'String',
57
+ :'photo_128' => :'String',
58
+ :'photo_256' => :'String'
59
+ }
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ return unless attributes.is_a?(Hash)
66
+
67
+ # convert string to symbol for hash key
68
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
69
+
70
+ if attributes.has_key?(:'icon')
71
+ self.icon = attributes[:'icon']
72
+ end
73
+
74
+ if attributes.has_key?(:'photo_36')
75
+ self.photo_36 = attributes[:'photo_36']
76
+ end
77
+
78
+ if attributes.has_key?(:'photo_92')
79
+ self.photo_92 = attributes[:'photo_92']
80
+ end
81
+
82
+ if attributes.has_key?(:'photo_128')
83
+ self.photo_128 = attributes[:'photo_128']
84
+ end
85
+
86
+ if attributes.has_key?(:'photo_256')
87
+ self.photo_256 = attributes[:'photo_256']
88
+ end
89
+
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properies with the reasons
94
+ def list_invalid_properties
95
+ invalid_properties = Array.new
96
+ return invalid_properties
97
+ end
98
+
99
+ # Check to see if the all the properties in the model are valid
100
+ # @return true if the model is valid
101
+ def valid?
102
+ return true
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(o)
108
+ return true if self.equal?(o)
109
+ self.class == o.class &&
110
+ icon == o.icon &&
111
+ photo_36 == o.photo_36 &&
112
+ photo_92 == o.photo_92 &&
113
+ photo_128 == o.photo_128 &&
114
+ photo_256 == o.photo_256
115
+ end
116
+
117
+ # @see the `==` method
118
+ # @param [Object] Object to be compared
119
+ def eql?(o)
120
+ self == o
121
+ end
122
+
123
+ # Calculates hash code according to all attributes.
124
+ # @return [Fixnum] Hash code
125
+ def hash
126
+ [icon, photo_36, photo_92, photo_128, photo_256].hash
127
+ end
128
+
129
+ # Builds the object from hash
130
+ # @param [Hash] attributes Model attributes in the form of hash
131
+ # @return [Object] Returns the model itself
132
+ def build_from_hash(attributes)
133
+ return nil unless attributes.is_a?(Hash)
134
+ self.class.swagger_types.each_pair do |key, type|
135
+ if type =~ /^Array<(.*)>/i
136
+ # check to ensure the input is an array given that the the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
140
+ end
141
+ elsif !attributes[self.class.attribute_map[key]].nil?
142
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
144
+ end
145
+
146
+ self
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :DateTime
156
+ DateTime.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :BOOLEAN
166
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ temp_model = OSDNClient.const_get(type).new
187
+ temp_model.build_from_hash(value)
188
+ end
189
+ end
190
+
191
+ # Returns the string representation of the object
192
+ # @return [String] String presentation of the object
193
+ def to_s
194
+ to_hash.to_s
195
+ end
196
+
197
+ # to_body is an alias to to_hash (backward compatibility)
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_body
200
+ to_hash
201
+ end
202
+
203
+ # Returns the object in the form of hash
204
+ # @return [Hash] Returns the object in the form of hash
205
+ def to_hash
206
+ hash = {}
207
+ self.class.attribute_map.each_pair do |attr, param|
208
+ value = self.send(attr)
209
+ next if value.nil?
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ # Outputs non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ # @param [Object] value Any valid value
218
+ # @return [Hash] Returns the value in the form of hash
219
+ def _to_hash(value)
220
+ if value.is_a?(Array)
221
+ value.compact.map{ |v| _to_hash(v) }
222
+ elsif value.is_a?(Hash)
223
+ {}.tap do |hash|
224
+ value.each { |k, v| hash[k] = _to_hash(v) }
225
+ end
226
+ elsif value.respond_to? :to_hash
227
+ value.to_hash
228
+ else
229
+ value
230
+ end
231
+ end
232
+
233
+ end
234
+
235
+ end
@@ -0,0 +1,424 @@
1
+ =begin
2
+ #OSDN REST API v0 beta
3
+
4
+ #OSDN REST API. Currently this API is experimental release. Pelase refer documentation on https://osdn.net/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.net/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20171120
7
+ Contact: admin@osdn.net
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require 'date'
25
+
26
+ module OSDNClient
27
+
28
+ class UserStats
29
+ attr_accessor :date
30
+
31
+ attr_accessor :user_point
32
+
33
+ attr_accessor :news_count
34
+
35
+ attr_accessor :git_count
36
+
37
+ attr_accessor :svn_count
38
+
39
+ attr_accessor :hg_count
40
+
41
+ attr_accessor :bzr_count
42
+
43
+ attr_accessor :cvs_count
44
+
45
+ attr_accessor :wiki_count
46
+
47
+ attr_accessor :forum_count
48
+
49
+ attr_accessor :forum_misc_count
50
+
51
+ attr_accessor :ticket_open_count
52
+
53
+ attr_accessor :ticket_close_count
54
+
55
+ attr_accessor :ticket_comment_count
56
+
57
+ attr_accessor :ticket_owner_count
58
+
59
+ attr_accessor :ticket_misc_count
60
+
61
+ attr_accessor :ticket_milestone_count
62
+
63
+ attr_accessor :group_approved_count
64
+
65
+ attr_accessor :group_history_count
66
+
67
+ attr_accessor :ghosted_submit_count
68
+
69
+ attr_accessor :ghosted_approve_count
70
+
71
+ attr_accessor :project_review_submit_count
72
+
73
+ attr_accessor :project_review_update_count
74
+
75
+ attr_accessor :project_review_rating_submit_count
76
+
77
+ attr_accessor :chamber_file_count
78
+
79
+ attr_accessor :chamber_vcs_count
80
+
81
+
82
+ # Attribute mapping from ruby-style variable name to JSON key.
83
+ def self.attribute_map
84
+ {
85
+ :'date' => :'date',
86
+ :'user_point' => :'user_point',
87
+ :'news_count' => :'news_count',
88
+ :'git_count' => :'git_count',
89
+ :'svn_count' => :'svn_count',
90
+ :'hg_count' => :'hg_count',
91
+ :'bzr_count' => :'bzr_count',
92
+ :'cvs_count' => :'cvs_count',
93
+ :'wiki_count' => :'wiki_count',
94
+ :'forum_count' => :'forum_count',
95
+ :'forum_misc_count' => :'forum_misc_count',
96
+ :'ticket_open_count' => :'ticket_open_count',
97
+ :'ticket_close_count' => :'ticket_close_count',
98
+ :'ticket_comment_count' => :'ticket_comment_count',
99
+ :'ticket_owner_count' => :'ticket_owner_count',
100
+ :'ticket_misc_count' => :'ticket_misc_count',
101
+ :'ticket_milestone_count' => :'ticket_milestone_count',
102
+ :'group_approved_count' => :'group_approved_count',
103
+ :'group_history_count' => :'group_history_count',
104
+ :'ghosted_submit_count' => :'ghosted_submit_count',
105
+ :'ghosted_approve_count' => :'ghosted_approve_count',
106
+ :'project_review_submit_count' => :'project_review_submit_count',
107
+ :'project_review_update_count' => :'project_review_update_count',
108
+ :'project_review_rating_submit_count' => :'project_review_rating_submit_count',
109
+ :'chamber_file_count' => :'chamber_file_count',
110
+ :'chamber_vcs_count' => :'chamber_vcs_count'
111
+ }
112
+ end
113
+
114
+ # Attribute type mapping.
115
+ def self.swagger_types
116
+ {
117
+ :'date' => :'String',
118
+ :'user_point' => :'Integer',
119
+ :'news_count' => :'Integer',
120
+ :'git_count' => :'Integer',
121
+ :'svn_count' => :'Integer',
122
+ :'hg_count' => :'Integer',
123
+ :'bzr_count' => :'Integer',
124
+ :'cvs_count' => :'Integer',
125
+ :'wiki_count' => :'Integer',
126
+ :'forum_count' => :'Integer',
127
+ :'forum_misc_count' => :'Integer',
128
+ :'ticket_open_count' => :'Integer',
129
+ :'ticket_close_count' => :'Integer',
130
+ :'ticket_comment_count' => :'Integer',
131
+ :'ticket_owner_count' => :'Integer',
132
+ :'ticket_misc_count' => :'Integer',
133
+ :'ticket_milestone_count' => :'Integer',
134
+ :'group_approved_count' => :'Integer',
135
+ :'group_history_count' => :'Integer',
136
+ :'ghosted_submit_count' => :'Integer',
137
+ :'ghosted_approve_count' => :'Integer',
138
+ :'project_review_submit_count' => :'Integer',
139
+ :'project_review_update_count' => :'Integer',
140
+ :'project_review_rating_submit_count' => :'Integer',
141
+ :'chamber_file_count' => :'Integer',
142
+ :'chamber_vcs_count' => :'Integer'
143
+ }
144
+ end
145
+
146
+ # Initializes the object
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ def initialize(attributes = {})
149
+ return unless attributes.is_a?(Hash)
150
+
151
+ # convert string to symbol for hash key
152
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
153
+
154
+ if attributes.has_key?(:'date')
155
+ self.date = attributes[:'date']
156
+ end
157
+
158
+ if attributes.has_key?(:'user_point')
159
+ self.user_point = attributes[:'user_point']
160
+ end
161
+
162
+ if attributes.has_key?(:'news_count')
163
+ self.news_count = attributes[:'news_count']
164
+ end
165
+
166
+ if attributes.has_key?(:'git_count')
167
+ self.git_count = attributes[:'git_count']
168
+ end
169
+
170
+ if attributes.has_key?(:'svn_count')
171
+ self.svn_count = attributes[:'svn_count']
172
+ end
173
+
174
+ if attributes.has_key?(:'hg_count')
175
+ self.hg_count = attributes[:'hg_count']
176
+ end
177
+
178
+ if attributes.has_key?(:'bzr_count')
179
+ self.bzr_count = attributes[:'bzr_count']
180
+ end
181
+
182
+ if attributes.has_key?(:'cvs_count')
183
+ self.cvs_count = attributes[:'cvs_count']
184
+ end
185
+
186
+ if attributes.has_key?(:'wiki_count')
187
+ self.wiki_count = attributes[:'wiki_count']
188
+ end
189
+
190
+ if attributes.has_key?(:'forum_count')
191
+ self.forum_count = attributes[:'forum_count']
192
+ end
193
+
194
+ if attributes.has_key?(:'forum_misc_count')
195
+ self.forum_misc_count = attributes[:'forum_misc_count']
196
+ end
197
+
198
+ if attributes.has_key?(:'ticket_open_count')
199
+ self.ticket_open_count = attributes[:'ticket_open_count']
200
+ end
201
+
202
+ if attributes.has_key?(:'ticket_close_count')
203
+ self.ticket_close_count = attributes[:'ticket_close_count']
204
+ end
205
+
206
+ if attributes.has_key?(:'ticket_comment_count')
207
+ self.ticket_comment_count = attributes[:'ticket_comment_count']
208
+ end
209
+
210
+ if attributes.has_key?(:'ticket_owner_count')
211
+ self.ticket_owner_count = attributes[:'ticket_owner_count']
212
+ end
213
+
214
+ if attributes.has_key?(:'ticket_misc_count')
215
+ self.ticket_misc_count = attributes[:'ticket_misc_count']
216
+ end
217
+
218
+ if attributes.has_key?(:'ticket_milestone_count')
219
+ self.ticket_milestone_count = attributes[:'ticket_milestone_count']
220
+ end
221
+
222
+ if attributes.has_key?(:'group_approved_count')
223
+ self.group_approved_count = attributes[:'group_approved_count']
224
+ end
225
+
226
+ if attributes.has_key?(:'group_history_count')
227
+ self.group_history_count = attributes[:'group_history_count']
228
+ end
229
+
230
+ if attributes.has_key?(:'ghosted_submit_count')
231
+ self.ghosted_submit_count = attributes[:'ghosted_submit_count']
232
+ end
233
+
234
+ if attributes.has_key?(:'ghosted_approve_count')
235
+ self.ghosted_approve_count = attributes[:'ghosted_approve_count']
236
+ end
237
+
238
+ if attributes.has_key?(:'project_review_submit_count')
239
+ self.project_review_submit_count = attributes[:'project_review_submit_count']
240
+ end
241
+
242
+ if attributes.has_key?(:'project_review_update_count')
243
+ self.project_review_update_count = attributes[:'project_review_update_count']
244
+ end
245
+
246
+ if attributes.has_key?(:'project_review_rating_submit_count')
247
+ self.project_review_rating_submit_count = attributes[:'project_review_rating_submit_count']
248
+ end
249
+
250
+ if attributes.has_key?(:'chamber_file_count')
251
+ self.chamber_file_count = attributes[:'chamber_file_count']
252
+ end
253
+
254
+ if attributes.has_key?(:'chamber_vcs_count')
255
+ self.chamber_vcs_count = attributes[:'chamber_vcs_count']
256
+ end
257
+
258
+ end
259
+
260
+ # Show invalid properties with the reasons. Usually used together with valid?
261
+ # @return Array for valid properies with the reasons
262
+ def list_invalid_properties
263
+ invalid_properties = Array.new
264
+ return invalid_properties
265
+ end
266
+
267
+ # Check to see if the all the properties in the model are valid
268
+ # @return true if the model is valid
269
+ def valid?
270
+ return true
271
+ end
272
+
273
+ # Checks equality by comparing each attribute.
274
+ # @param [Object] Object to be compared
275
+ def ==(o)
276
+ return true if self.equal?(o)
277
+ self.class == o.class &&
278
+ date == o.date &&
279
+ user_point == o.user_point &&
280
+ news_count == o.news_count &&
281
+ git_count == o.git_count &&
282
+ svn_count == o.svn_count &&
283
+ hg_count == o.hg_count &&
284
+ bzr_count == o.bzr_count &&
285
+ cvs_count == o.cvs_count &&
286
+ wiki_count == o.wiki_count &&
287
+ forum_count == o.forum_count &&
288
+ forum_misc_count == o.forum_misc_count &&
289
+ ticket_open_count == o.ticket_open_count &&
290
+ ticket_close_count == o.ticket_close_count &&
291
+ ticket_comment_count == o.ticket_comment_count &&
292
+ ticket_owner_count == o.ticket_owner_count &&
293
+ ticket_misc_count == o.ticket_misc_count &&
294
+ ticket_milestone_count == o.ticket_milestone_count &&
295
+ group_approved_count == o.group_approved_count &&
296
+ group_history_count == o.group_history_count &&
297
+ ghosted_submit_count == o.ghosted_submit_count &&
298
+ ghosted_approve_count == o.ghosted_approve_count &&
299
+ project_review_submit_count == o.project_review_submit_count &&
300
+ project_review_update_count == o.project_review_update_count &&
301
+ project_review_rating_submit_count == o.project_review_rating_submit_count &&
302
+ chamber_file_count == o.chamber_file_count &&
303
+ chamber_vcs_count == o.chamber_vcs_count
304
+ end
305
+
306
+ # @see the `==` method
307
+ # @param [Object] Object to be compared
308
+ def eql?(o)
309
+ self == o
310
+ end
311
+
312
+ # Calculates hash code according to all attributes.
313
+ # @return [Fixnum] Hash code
314
+ def hash
315
+ [date, user_point, news_count, git_count, svn_count, hg_count, bzr_count, cvs_count, wiki_count, forum_count, forum_misc_count, ticket_open_count, ticket_close_count, ticket_comment_count, ticket_owner_count, ticket_misc_count, ticket_milestone_count, group_approved_count, group_history_count, ghosted_submit_count, ghosted_approve_count, project_review_submit_count, project_review_update_count, project_review_rating_submit_count, chamber_file_count, chamber_vcs_count].hash
316
+ end
317
+
318
+ # Builds the object from hash
319
+ # @param [Hash] attributes Model attributes in the form of hash
320
+ # @return [Object] Returns the model itself
321
+ def build_from_hash(attributes)
322
+ return nil unless attributes.is_a?(Hash)
323
+ self.class.swagger_types.each_pair do |key, type|
324
+ if type =~ /^Array<(.*)>/i
325
+ # check to ensure the input is an array given that the the attribute
326
+ # is documented as an array but the input is not
327
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
328
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
329
+ end
330
+ elsif !attributes[self.class.attribute_map[key]].nil?
331
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
332
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
333
+ end
334
+
335
+ self
336
+ end
337
+
338
+ # Deserializes the data based on type
339
+ # @param string type Data type
340
+ # @param string value Value to be deserialized
341
+ # @return [Object] Deserialized data
342
+ def _deserialize(type, value)
343
+ case type.to_sym
344
+ when :DateTime
345
+ DateTime.parse(value)
346
+ when :Date
347
+ Date.parse(value)
348
+ when :String
349
+ value.to_s
350
+ when :Integer
351
+ value.to_i
352
+ when :Float
353
+ value.to_f
354
+ when :BOOLEAN
355
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
356
+ true
357
+ else
358
+ false
359
+ end
360
+ when :Object
361
+ # generic object (usually a Hash), return directly
362
+ value
363
+ when /\AArray<(?<inner_type>.+)>\z/
364
+ inner_type = Regexp.last_match[:inner_type]
365
+ value.map { |v| _deserialize(inner_type, v) }
366
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
367
+ k_type = Regexp.last_match[:k_type]
368
+ v_type = Regexp.last_match[:v_type]
369
+ {}.tap do |hash|
370
+ value.each do |k, v|
371
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
372
+ end
373
+ end
374
+ else # model
375
+ temp_model = OSDNClient.const_get(type).new
376
+ temp_model.build_from_hash(value)
377
+ end
378
+ end
379
+
380
+ # Returns the string representation of the object
381
+ # @return [String] String presentation of the object
382
+ def to_s
383
+ to_hash.to_s
384
+ end
385
+
386
+ # to_body is an alias to to_hash (backward compatibility)
387
+ # @return [Hash] Returns the object in the form of hash
388
+ def to_body
389
+ to_hash
390
+ end
391
+
392
+ # Returns the object in the form of hash
393
+ # @return [Hash] Returns the object in the form of hash
394
+ def to_hash
395
+ hash = {}
396
+ self.class.attribute_map.each_pair do |attr, param|
397
+ value = self.send(attr)
398
+ next if value.nil?
399
+ hash[param] = _to_hash(value)
400
+ end
401
+ hash
402
+ end
403
+
404
+ # Outputs non-array value in the form of hash
405
+ # For object, use to_hash. Otherwise, just return the value
406
+ # @param [Object] value Any valid value
407
+ # @return [Hash] Returns the value in the form of hash
408
+ def _to_hash(value)
409
+ if value.is_a?(Array)
410
+ value.compact.map{ |v| _to_hash(v) }
411
+ elsif value.is_a?(Hash)
412
+ {}.tap do |hash|
413
+ value.each { |k, v| hash[k] = _to_hash(v) }
414
+ end
415
+ elsif value.respond_to? :to_hash
416
+ value.to_hash
417
+ else
418
+ value
419
+ end
420
+ end
421
+
422
+ end
423
+
424
+ end