osdn-client 0.0.20160304 → 0.0.20160711

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +201 -0
  3. data/README.md +182 -0
  4. data/docs/DefaultApi.md +115 -0
  5. data/docs/Group.md +23 -0
  6. data/docs/GroupToolFlags.md +17 -0
  7. data/docs/News.md +14 -0
  8. data/docs/Package.md +13 -0
  9. data/docs/Pong.md +11 -0
  10. data/docs/ProjectApi.md +1511 -0
  11. data/docs/ProjectFrsApi.md +888 -0
  12. data/docs/ProjectNewsApi.md +576 -0
  13. data/docs/RelFile.md +19 -0
  14. data/docs/Release.md +16 -0
  15. data/docs/SimpleChamber.md +11 -0
  16. data/docs/SimpleGroup.md +11 -0
  17. data/docs/SimpleUser.md +10 -0
  18. data/docs/Skill.md +11 -0
  19. data/docs/Token.md +12 -0
  20. data/docs/User.md +20 -0
  21. data/docs/UserApi.md +63 -0
  22. data/lib/osdn-client.rb +32 -9
  23. data/lib/osdn-client/api/default_api.rb +50 -39
  24. data/lib/osdn-client/api/project_api.rb +661 -773
  25. data/lib/osdn-client/api/project_frs_api.rb +350 -412
  26. data/lib/osdn-client/api/project_news_api.rb +217 -244
  27. data/lib/osdn-client/api/user_api.rb +35 -20
  28. data/lib/osdn-client/api_client.rb +74 -13
  29. data/lib/osdn-client/api_error.rb +23 -0
  30. data/lib/osdn-client/configuration.rb +45 -1
  31. data/lib/osdn-client/models/group.rb +103 -65
  32. data/lib/osdn-client/models/group_tool_flags.rb +91 -47
  33. data/lib/osdn-client/models/news.rb +85 -38
  34. data/lib/osdn-client/models/package.rb +83 -35
  35. data/lib/osdn-client/models/pong.rb +79 -29
  36. data/lib/osdn-client/models/rel_file.rb +95 -53
  37. data/lib/osdn-client/models/release.rb +89 -44
  38. data/lib/osdn-client/models/simple_chamber.rb +79 -29
  39. data/lib/osdn-client/models/simple_group.rb +79 -29
  40. data/lib/osdn-client/models/simple_user.rb +77 -26
  41. data/lib/osdn-client/models/skill.rb +79 -29
  42. data/lib/osdn-client/models/token.rb +81 -32
  43. data/lib/osdn-client/models/user.rb +97 -56
  44. data/lib/osdn-client/version.rb +24 -1
  45. data/osdn-client.gemspec +30 -7
  46. data/spec/api/default_api_spec.rb +73 -0
  47. data/spec/api/{ProjectApi_spec.rb → project_api_spec.rb} +187 -264
  48. data/spec/api/{ProjectFrsApi_spec.rb → project_frs_api_spec.rb} +103 -136
  49. data/spec/api/{ProjectNewsApi_spec.rb → project_news_api_spec.rb} +71 -88
  50. data/spec/api/user_api_spec.rb +58 -0
  51. data/spec/api_client_spec.rb +315 -0
  52. data/spec/configuration_spec.rb +48 -0
  53. data/spec/models/group_spec.rb +143 -0
  54. data/spec/models/group_tool_flags_spec.rb +107 -0
  55. data/spec/models/news_spec.rb +89 -0
  56. data/spec/models/package_spec.rb +83 -0
  57. data/spec/models/pong_spec.rb +71 -0
  58. data/spec/models/rel_file_spec.rb +119 -0
  59. data/spec/models/release_spec.rb +101 -0
  60. data/spec/models/simple_chamber_spec.rb +71 -0
  61. data/spec/models/simple_group_spec.rb +71 -0
  62. data/spec/models/simple_user_spec.rb +65 -0
  63. data/spec/models/skill_spec.rb +71 -0
  64. data/spec/models/token_spec.rb +77 -0
  65. data/spec/models/user_spec.rb +125 -0
  66. data/spec/spec_helper.rb +122 -0
  67. metadata +87 -59
  68. data/spec/api/DefaultApi_spec.rb +0 -58
  69. data/spec/api/UserApi_spec.rb +0 -39
  70. data/spec/models/GroupToolFlags_spec.rb +0 -124
  71. data/spec/models/Group_spec.rb +0 -184
  72. data/spec/models/News_spec.rb +0 -94
  73. data/spec/models/Package_spec.rb +0 -84
  74. data/spec/models/Pong_spec.rb +0 -64
  75. data/spec/models/RelFile_spec.rb +0 -144
  76. data/spec/models/Release_spec.rb +0 -114
  77. data/spec/models/SimpleChamber_spec.rb +0 -64
  78. data/spec/models/SimpleGroup_spec.rb +0 -64
  79. data/spec/models/SimpleUser_spec.rb +0 -54
  80. data/spec/models/Skill_spec.rb +0 -64
  81. data/spec/models/Token_spec.rb +0 -74
  82. data/spec/models/User_spec.rb +0 -154
@@ -1,3 +1,26 @@
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.jp/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.jp/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20160304
7
+ Contact: admin@osdn.jp
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
+
1
24
  require "uri"
2
25
 
3
26
  module OSDNClient
@@ -9,30 +32,28 @@ module OSDNClient
9
32
  end
10
33
 
11
34
  #
12
- # Get user profile.
35
+ # Get user profile.
13
36
  # @param id_or_name numeric user id or user name
14
37
  # @param [Hash] opts the optional parameters
15
38
  # @return [User]
16
39
  def get_user(id_or_name, opts = {})
17
- data, status_code, headers = get_user_with_http_info(id_or_name, opts)
40
+ data, _status_code, _headers = get_user_with_http_info(id_or_name, opts)
18
41
  return data
19
42
  end
20
43
 
21
44
  #
22
- # Get user profile.
45
+ # Get user profile.
23
46
  # @param id_or_name numeric user id or user name
24
47
  # @param [Hash] opts the optional parameters
25
48
  # @return [Array<(User, Fixnum, Hash)>] User data, response status code and response headers
26
49
  def get_user_with_http_info(id_or_name, opts = {})
27
50
  if @api_client.config.debugging
28
- @api_client.config.logger.debug "Calling API: UserApi#get_user ..."
51
+ @api_client.config.logger.debug "Calling API: UserApi.get_user ..."
29
52
  end
30
-
31
53
  # verify the required parameter 'id_or_name' is set
32
- fail "Missing the required parameter 'id_or_name' when calling get_user" if id_or_name.nil?
33
-
54
+ fail ArgumentError, "Missing the required parameter 'id_or_name' when calling UserApi.get_user" if id_or_name.nil?
34
55
  # resource path
35
- path = "/user/{id_or_name}".sub('{format}','json').sub('{' + 'id_or_name' + '}', id_or_name.to_s)
56
+ local_var_path = "/user/{id_or_name}".sub('{format}','json').sub('{' + 'id_or_name' + '}', id_or_name.to_s)
36
57
 
37
58
  # query parameters
38
59
  query_params = {}
@@ -41,22 +62,20 @@ module OSDNClient
41
62
  header_params = {}
42
63
 
43
64
  # HTTP header 'Accept' (if needed)
44
- _header_accept = []
45
- _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
65
+ local_header_accept = []
66
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
46
67
 
47
68
  # HTTP header 'Content-Type'
48
- _header_content_type = ['application/x-www-form-urlencoded']
49
- header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type)
69
+ local_header_content_type = ['application/x-www-form-urlencoded']
70
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
50
71
 
51
72
  # form parameters
52
73
  form_params = {}
53
74
 
54
75
  # http body (model)
55
76
  post_body = nil
56
-
57
-
58
- auth_names = ['oauth2-implicit']
59
- data, status_code, headers = @api_client.call_api(:GET, path,
77
+ auth_names = ['oauth2-code', 'oauth2-implicit']
78
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
60
79
  :header_params => header_params,
61
80
  :query_params => query_params,
62
81
  :form_params => form_params,
@@ -70,7 +89,3 @@ module OSDNClient
70
89
  end
71
90
  end
72
91
  end
73
-
74
-
75
-
76
-
@@ -1,3 +1,26 @@
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.jp/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.jp/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20160304
7
+ Contact: admin@osdn.jp
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
+
1
24
  require 'date'
2
25
  require 'json'
3
26
  require 'logger'
@@ -15,9 +38,11 @@ module OSDNClient
15
38
  # @return [Hash]
16
39
  attr_accessor :default_headers
17
40
 
41
+ # Initializes the ApiClient
42
+ # @option config [Configuration] Configuraiton for initializing the object, default to Configuration.default
18
43
  def initialize(config = Configuration.default)
19
44
  @config = config
20
- @user_agent = "ruby-swagger-#{VERSION}"
45
+ @user_agent = "Swagger-Codegen/#{VERSION}/ruby"
21
46
  @default_headers = {
22
47
  'Content-Type' => "application/json",
23
48
  'User-Agent' => @user_agent
@@ -55,6 +80,15 @@ module OSDNClient
55
80
  return data, response.code, response.headers
56
81
  end
57
82
 
83
+ # Builds the HTTP request
84
+ #
85
+ # @param [String] http_method HTTP method/verb (e.g. POST)
86
+ # @param [String] path URL path (e.g. /account/new)
87
+ # @option opts [Hash] :header_params Header parameters
88
+ # @option opts [Hash] :query_params Query parameters
89
+ # @option opts [Hash] :form_params Query parameters
90
+ # @option opts [Object] :body HTTP body (JSON/XML)
91
+ # @return [Typhoeus::Request] A Typhoeus Request
58
92
  def build_request(http_method, path, opts = {})
59
93
  url = build_request_url(path)
60
94
  http_method = http_method.to_sym.downcase
@@ -63,22 +97,27 @@ module OSDNClient
63
97
  query_params = opts[:query_params] || {}
64
98
  form_params = opts[:form_params] || {}
65
99
 
66
-
67
100
  update_params_for_auth! header_params, query_params, opts[:auth_names]
68
-
101
+
102
+ # set ssl_verifyhosts option based on @config.verify_ssl_host (true/false)
103
+ _verify_ssl_host = @config.verify_ssl_host ? 2 : 0
69
104
 
70
105
  req_opts = {
71
106
  :method => http_method,
72
107
  :headers => header_params,
73
108
  :params => query_params,
109
+ :params_encoding => @config.params_encoding,
74
110
  :timeout => @config.timeout,
75
111
  :ssl_verifypeer => @config.verify_ssl,
112
+ :ssl_verifyhost => _verify_ssl_host,
76
113
  :sslcert => @config.cert_file,
77
114
  :sslkey => @config.key_file,
78
- :cainfo => @config.ssl_ca_cert,
79
115
  :verbose => @config.debugging
80
116
  }
81
117
 
118
+ # set custom cert, if provided
119
+ req_opts[:cainfo] = @config.ssl_ca_cert if @config.ssl_ca_cert
120
+
82
121
  if [:post, :patch, :put, :delete].include?(http_method)
83
122
  req_body = build_request_body(header_params, form_params, opts[:body])
84
123
  req_opts.update :body => req_body
@@ -95,17 +134,23 @@ module OSDNClient
95
134
  # application/json
96
135
  # application/json; charset=UTF8
97
136
  # APPLICATION/JSON
137
+ # @param [String] mime MIME
138
+ # @return [Boolean] True if the MIME is applicaton/json
98
139
  def json_mime?(mime)
99
- !!(mime =~ /\Aapplication\/json(;.*)?\z/i)
140
+ !(mime =~ /\Aapplication\/json(;.*)?\z/i).nil?
100
141
  end
101
142
 
102
143
  # Deserialize the response to the given return type.
103
144
  #
145
+ # @param [Response] response HTTP response
104
146
  # @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
105
147
  def deserialize(response, return_type)
106
148
  body = response.body
107
149
  return nil if body.nil? || body.empty?
108
150
 
151
+ # return response body directly for String return type
152
+ return body if return_type == 'String'
153
+
109
154
  # handle file downloading - save response body into a tmp file and return the File instance
110
155
  return download_file(response) if return_type == 'File'
111
156
 
@@ -128,6 +173,9 @@ module OSDNClient
128
173
  end
129
174
 
130
175
  # Convert data to the given return type.
176
+ # @param [Object] data Data to be converted
177
+ # @param [String] return_type Return type
178
+ # @return [Mixed] Data in a particular type
131
179
  def convert_to_type(data, return_type)
132
180
  return nil if data.nil?
133
181
  case return_type
@@ -146,7 +194,7 @@ module OSDNClient
146
194
  # parse date time (expecting ISO 8601 format)
147
195
  Date.parse data
148
196
  when 'Object'
149
- # generic object, return directly
197
+ # generic object (usually a Hash), return directly
150
198
  data
151
199
  when /\AArray<(.+)>\z/
152
200
  # e.g. Array<Pet>
@@ -173,7 +221,7 @@ module OSDNClient
173
221
  # @return [Tempfile] the file downloaded
174
222
  def download_file(response)
175
223
  content_disposition = response.headers['Content-Disposition']
176
- if content_disposition
224
+ if content_disposition and content_disposition =~ /filename=/i
177
225
  filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
178
226
  prefix = sanitize_filename(filename)
179
227
  else
@@ -200,7 +248,7 @@ module OSDNClient
200
248
  # @param [String] filename the filename to be sanitized
201
249
  # @return [String] the sanitized filename
202
250
  def sanitize_filename(filename)
203
- filename.gsub /.*[\/\\]/, ''
251
+ filename.gsub(/.*[\/\\]/, '')
204
252
  end
205
253
 
206
254
  def build_request_url(path)
@@ -209,6 +257,12 @@ module OSDNClient
209
257
  URI.encode(@config.base_url + path)
210
258
  end
211
259
 
260
+ # Builds the HTTP request body
261
+ #
262
+ # @param [Hash] header_params Header parameters
263
+ # @param [Hash] form_params Query parameters
264
+ # @param [Object] body HTTP body (JSON/XML)
265
+ # @return [String] HTTP body data in the form of string
212
266
  def build_request_body(header_params, form_params, body)
213
267
  # http form
214
268
  if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
@@ -232,6 +286,10 @@ module OSDNClient
232
286
  end
233
287
 
234
288
  # Update hearder and query params based on authentication settings.
289
+ #
290
+ # @param [Hash] header_params Header parameters
291
+ # @param [Hash] form_params Query parameters
292
+ # @param [String] auth_names Authentication scheme name
235
293
  def update_params_for_auth!(header_params, query_params, auth_names)
236
294
  Array(auth_names).each do |auth_name|
237
295
  auth_setting = @config.auth_settings[auth_name]
@@ -244,6 +302,9 @@ module OSDNClient
244
302
  end
245
303
  end
246
304
 
305
+ # Sets user agent in HTTP header
306
+ #
307
+ # @param [String] user_agent User agent (e.g. swagger-codegen/ruby/1.0.0)
247
308
  def user_agent=(user_agent)
248
309
  @user_agent = user_agent
249
310
  @default_headers['User-Agent'] = @user_agent
@@ -274,14 +335,14 @@ module OSDNClient
274
335
  # @param [Object] model object to be converted into JSON string
275
336
  # @return [String] JSON string representation of the object
276
337
  def object_to_http_body(model)
277
- return if model.nil?
278
- _body = nil
338
+ return model if model.nil? || model.is_a?(String)
339
+ local_body = nil
279
340
  if model.is_a?(Array)
280
- _body = model.map{|m| object_to_hash(m) }
341
+ local_body = model.map{|m| object_to_hash(m) }
281
342
  else
282
- _body = object_to_hash(model)
343
+ local_body = object_to_hash(model)
283
344
  end
284
- _body.to_json
345
+ local_body.to_json
285
346
  end
286
347
 
287
348
  # Convert object(non-array) to hash.
@@ -1,3 +1,26 @@
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.jp/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.jp/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20160304
7
+ Contact: admin@osdn.jp
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
+
1
24
  module OSDNClient
2
25
  class ApiError < StandardError
3
26
  attr_reader :code, :response_headers, :response_body
@@ -1,3 +1,26 @@
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.jp/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.jp/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20160304
7
+ Contact: admin@osdn.jp
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
+
1
24
  require 'uri'
2
25
 
3
26
  module OSDNClient
@@ -64,7 +87,7 @@ module OSDNClient
64
87
  # Default to 0 (never times out).
65
88
  attr_accessor :timeout
66
89
 
67
- ### TLS/SSL
90
+ ### TLS/SSL setting
68
91
  # Set this to false to skip verifying SSL certificate when calling API from https server.
69
92
  # Default to true.
70
93
  #
@@ -73,6 +96,16 @@ module OSDNClient
73
96
  # @return [true, false]
74
97
  attr_accessor :verify_ssl
75
98
 
99
+ ### TLS/SSL setting
100
+ # Set this to false to skip verifying SSL host name
101
+ # Default to true.
102
+ #
103
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
104
+ #
105
+ # @return [true, false]
106
+ attr_accessor :verify_ssl_host
107
+
108
+ ### TLS/SSL setting
76
109
  # Set this to customize the certificate file to verify the peer.
77
110
  #
78
111
  # @return [String] the path to the certificate file
@@ -81,12 +114,21 @@ module OSDNClient
81
114
  # https://github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
82
115
  attr_accessor :ssl_ca_cert
83
116
 
117
+ ### TLS/SSL setting
84
118
  # Client certificate file (for client certificate)
85
119
  attr_accessor :cert_file
86
120
 
121
+ ### TLS/SSL setting
87
122
  # Client private key file (for client certificate)
88
123
  attr_accessor :key_file
89
124
 
125
+ # Set this to customize parameters encoding of array parameter with multi collectionFormat.
126
+ # Default to nil.
127
+ #
128
+ # @see The params_encoding option of Ethon. Related source code:
129
+ # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
130
+ attr_accessor :params_encoding
131
+
90
132
  attr_accessor :inject_format
91
133
 
92
134
  attr_accessor :force_ending_format
@@ -99,6 +141,8 @@ module OSDNClient
99
141
  @api_key_prefix = {}
100
142
  @timeout = 0
101
143
  @verify_ssl = true
144
+ @verify_ssl_host = true
145
+ @params_encoding = nil
102
146
  @cert_file = nil
103
147
  @key_file = nil
104
148
  @debugging = false
@@ -1,6 +1,30 @@
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.jp/projects/osdn-codes/wiki/APIGuide and you can get client libraries from https://osdn.jp/projects/osdn-codes/releases/p14859 .
5
+
6
+ OpenAPI spec version: 0.0.20160304
7
+ Contact: admin@osdn.jp
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
+
1
24
  require 'date'
2
25
 
3
26
  module OSDNClient
27
+
4
28
  class Group
5
29
  attr_accessor :id
6
30
 
@@ -34,42 +58,26 @@ module OSDNClient
34
58
 
35
59
  attr_accessor :members
36
60
 
61
+
37
62
  # Attribute mapping from ruby-style variable name to JSON key.
38
63
  def self.attribute_map
39
64
  {
40
-
41
65
  :'id' => :'id',
42
-
43
66
  :'name' => :'name',
44
-
45
67
  :'display_name' => :'display_name',
46
-
47
68
  :'last_update' => :'last_update',
48
-
49
69
  :'description' => :'description',
50
-
51
70
  :'description_html' => :'description_html',
52
-
53
71
  :'start_date' => :'start_date',
54
-
55
72
  :'license' => :'license',
56
-
57
73
  :'license_other' => :'license_other',
58
-
59
74
  :'url' => :'url',
60
-
61
75
  :'homepage' => :'homepage',
62
-
63
76
  :'logo_image' => :'logo_image',
64
-
65
77
  :'banner_image' => :'banner_image',
66
-
67
78
  :'thumbnail_image' => :'thumbnail_image',
68
-
69
79
  :'tools' => :'tools',
70
-
71
80
  :'members' => :'members'
72
-
73
81
  }
74
82
  end
75
83
 
@@ -92,86 +100,100 @@ module OSDNClient
92
100
  :'thumbnail_image' => :'String',
93
101
  :'tools' => :'GroupToolFlags',
94
102
  :'members' => :'Array<SimpleUser>'
95
-
96
103
  }
97
104
  end
98
105
 
106
+ # Initializes the object
107
+ # @param [Hash] attributes Model attributes in the form of hash
99
108
  def initialize(attributes = {})
100
109
  return unless attributes.is_a?(Hash)
101
110
 
102
111
  # convert string to symbol for hash key
103
- attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
112
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
104
113
 
105
-
106
- if attributes[:'id']
114
+ if attributes.has_key?(:'id')
107
115
  self.id = attributes[:'id']
108
116
  end
109
-
110
- if attributes[:'name']
117
+
118
+ if attributes.has_key?(:'name')
111
119
  self.name = attributes[:'name']
112
120
  end
113
-
114
- if attributes[:'display_name']
121
+
122
+ if attributes.has_key?(:'display_name')
115
123
  self.display_name = attributes[:'display_name']
116
124
  end
117
-
118
- if attributes[:'last_update']
125
+
126
+ if attributes.has_key?(:'last_update')
119
127
  self.last_update = attributes[:'last_update']
120
128
  end
121
-
122
- if attributes[:'description']
129
+
130
+ if attributes.has_key?(:'description')
123
131
  self.description = attributes[:'description']
124
132
  end
125
-
126
- if attributes[:'description_html']
133
+
134
+ if attributes.has_key?(:'description_html')
127
135
  self.description_html = attributes[:'description_html']
128
136
  end
129
-
130
- if attributes[:'start_date']
137
+
138
+ if attributes.has_key?(:'start_date')
131
139
  self.start_date = attributes[:'start_date']
132
140
  end
133
-
134
- if attributes[:'license']
141
+
142
+ if attributes.has_key?(:'license')
135
143
  self.license = attributes[:'license']
136
144
  end
137
-
138
- if attributes[:'license_other']
145
+
146
+ if attributes.has_key?(:'license_other')
139
147
  self.license_other = attributes[:'license_other']
140
148
  end
141
-
142
- if attributes[:'url']
149
+
150
+ if attributes.has_key?(:'url')
143
151
  self.url = attributes[:'url']
144
152
  end
145
-
146
- if attributes[:'homepage']
153
+
154
+ if attributes.has_key?(:'homepage')
147
155
  self.homepage = attributes[:'homepage']
148
156
  end
149
-
150
- if attributes[:'logo_image']
157
+
158
+ if attributes.has_key?(:'logo_image')
151
159
  self.logo_image = attributes[:'logo_image']
152
160
  end
153
-
154
- if attributes[:'banner_image']
161
+
162
+ if attributes.has_key?(:'banner_image')
155
163
  self.banner_image = attributes[:'banner_image']
156
164
  end
157
-
158
- if attributes[:'thumbnail_image']
165
+
166
+ if attributes.has_key?(:'thumbnail_image')
159
167
  self.thumbnail_image = attributes[:'thumbnail_image']
160
168
  end
161
-
162
- if attributes[:'tools']
169
+
170
+ if attributes.has_key?(:'tools')
163
171
  self.tools = attributes[:'tools']
164
172
  end
165
-
166
- if attributes[:'members']
173
+
174
+ if attributes.has_key?(:'members')
167
175
  if (value = attributes[:'members']).is_a?(Array)
168
176
  self.members = value
169
177
  end
170
178
  end
171
-
179
+
172
180
  end
173
181
 
174
- # Check equality by comparing each attribute.
182
+ # Show invalid properties with the reasons. Usually used together with valid?
183
+ # @return Array for valid properies with the reasons
184
+ def list_invalid_properties
185
+ invalid_properties = Array.new
186
+ return invalid_properties
187
+ end
188
+
189
+ # Check to see if the all the properties in the model are valid
190
+ # @return true if the model is valid
191
+ def valid?
192
+ return true
193
+ end
194
+
195
+ # Checks equality by comparing each attribute.
196
+ # @param [Object] Object to be compared
175
197
  def ==(o)
176
198
  return true if self.equal?(o)
177
199
  self.class == o.class &&
@@ -194,35 +216,41 @@ module OSDNClient
194
216
  end
195
217
 
196
218
  # @see the `==` method
219
+ # @param [Object] Object to be compared
197
220
  def eql?(o)
198
221
  self == o
199
222
  end
200
223
 
201
- # Calculate hash code according to all attributes.
224
+ # Calculates hash code according to all attributes.
225
+ # @return [Fixnum] Hash code
202
226
  def hash
203
227
  [id, name, display_name, last_update, description, description_html, start_date, license, license_other, url, homepage, logo_image, banner_image, thumbnail_image, tools, members].hash
204
228
  end
205
229
 
206
- # build the object from hash
230
+ # Builds the object from hash
231
+ # @param [Hash] attributes Model attributes in the form of hash
232
+ # @return [Object] Returns the model itself
207
233
  def build_from_hash(attributes)
208
234
  return nil unless attributes.is_a?(Hash)
209
235
  self.class.swagger_types.each_pair do |key, type|
210
236
  if type =~ /^Array<(.*)>/i
237
+ # check to ensure the input is an array given that the the attribute
238
+ # is documented as an array but the input is not
211
239
  if attributes[self.class.attribute_map[key]].is_a?(Array)
212
240
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
213
- else
214
- #TODO show warning in debug mode
215
241
  end
216
242
  elsif !attributes[self.class.attribute_map[key]].nil?
217
243
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
218
- else
219
- # data not found in attributes(hash), not an issue as the data can be optional
220
- end
244
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
221
245
  end
222
246
 
223
247
  self
224
248
  end
225
249
 
250
+ # Deserializes the data based on type
251
+ # @param string type Data type
252
+ # @param string value Value to be deserialized
253
+ # @return [Object] Deserialized data
226
254
  def _deserialize(type, value)
227
255
  case type.to_sym
228
256
  when :DateTime
@@ -241,6 +269,9 @@ module OSDNClient
241
269
  else
242
270
  false
243
271
  end
272
+ when :Object
273
+ # generic object (usually a Hash), return directly
274
+ value
244
275
  when /\AArray<(?<inner_type>.+)>\z/
245
276
  inner_type = Regexp.last_match[:inner_type]
246
277
  value.map { |v| _deserialize(inner_type, v) }
@@ -253,21 +284,25 @@ module OSDNClient
253
284
  end
254
285
  end
255
286
  else # model
256
- _model = OSDNClient.const_get(type).new
257
- _model.build_from_hash(value)
287
+ temp_model = OSDNClient.const_get(type).new
288
+ temp_model.build_from_hash(value)
258
289
  end
259
290
  end
260
291
 
292
+ # Returns the string representation of the object
293
+ # @return [String] String presentation of the object
261
294
  def to_s
262
295
  to_hash.to_s
263
296
  end
264
297
 
265
- # to_body is an alias to to_body (backward compatibility))
298
+ # to_body is an alias to to_hash (backward compatibility)
299
+ # @return [Hash] Returns the object in the form of hash
266
300
  def to_body
267
301
  to_hash
268
302
  end
269
303
 
270
- # return the object in the form of hash
304
+ # Returns the object in the form of hash
305
+ # @return [Hash] Returns the object in the form of hash
271
306
  def to_hash
272
307
  hash = {}
273
308
  self.class.attribute_map.each_pair do |attr, param|
@@ -278,8 +313,10 @@ module OSDNClient
278
313
  hash
279
314
  end
280
315
 
281
- # Method to output non-array value in the form of hash
316
+ # Outputs non-array value in the form of hash
282
317
  # For object, use to_hash. Otherwise, just return the value
318
+ # @param [Object] value Any valid value
319
+ # @return [Hash] Returns the value in the form of hash
283
320
  def _to_hash(value)
284
321
  if value.is_a?(Array)
285
322
  value.compact.map{ |v| _to_hash(v) }
@@ -295,4 +332,5 @@ module OSDNClient
295
332
  end
296
333
 
297
334
  end
335
+
298
336
  end