teleswagger 0.1.0 → 0.2.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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/LICENSE +201 -0
  4. data/README.md +88 -74
  5. data/docs/AnswerCallbackQueryBody.md +12 -0
  6. data/docs/AttachmentsApi.md +166 -3
  7. data/docs/CallbacksApi.md +6 -18
  8. data/docs/Chat.md +2 -0
  9. data/docs/ChatsApi.md +112 -9
  10. data/docs/EditMessageCaptionBody.md +1 -0
  11. data/docs/EditMessageLiveLocationBody.md +13 -0
  12. data/docs/GamesApi.md +5 -5
  13. data/docs/GetUpdatesBody.md +11 -0
  14. data/docs/InlineApi.md +1 -1
  15. data/docs/InlineQueryResultAudio.md +1 -0
  16. data/docs/InlineQueryResultCachedAudio.md +1 -0
  17. data/docs/InlineQueryResultCachedDocument.md +1 -0
  18. data/docs/InlineQueryResultCachedGif.md +1 -0
  19. data/docs/InlineQueryResultCachedMpeg4Gif.md +1 -0
  20. data/docs/InlineQueryResultCachedPhoto.md +1 -0
  21. data/docs/InlineQueryResultCachedVideo.md +1 -0
  22. data/docs/InlineQueryResultCachedVoice.md +1 -0
  23. data/docs/InlineQueryResultDocument.md +1 -0
  24. data/docs/InlineQueryResultGif.md +1 -0
  25. data/docs/InlineQueryResultLocation.md +1 -0
  26. data/docs/InlineQueryResultMpeg4Gif.md +1 -0
  27. data/docs/InlineQueryResultPhoto.md +1 -0
  28. data/docs/InlineQueryResultVideo.md +1 -0
  29. data/docs/InlineQueryResultVoice.md +1 -0
  30. data/docs/InlineResponse200.md +1 -1
  31. data/docs/InlineResponse2001.md +1 -1
  32. data/docs/InlineResponse2002.md +1 -1
  33. data/docs/InlineResponse2003.md +1 -1
  34. data/docs/InlineResponse2004.md +1 -1
  35. data/docs/InlineResponse2005.md +1 -1
  36. data/docs/InlineResponse2006.md +1 -1
  37. data/docs/InlineResponse2007.md +1 -1
  38. data/docs/InlineResponse2008.md +1 -1
  39. data/docs/InlineResponse2009.md +1 -1
  40. data/docs/InputLocationMessageContent.md +1 -0
  41. data/docs/InputMediaPhoto.md +11 -0
  42. data/docs/InputMediaVideo.md +15 -0
  43. data/docs/Message.md +3 -0
  44. data/docs/MessagesApi.md +7 -7
  45. data/docs/PaymentsApi.md +1 -1
  46. data/docs/ReplyKeyboardMarkup.md +1 -1
  47. data/docs/SendInvoiceBody.md +1 -0
  48. data/docs/SendLocationBody.md +1 -0
  49. data/docs/SendMediaGroupLinkBody.md +11 -0
  50. data/docs/StickersApi.md +3 -3
  51. data/docs/StopMessageLiveLocationBody.md +11 -0
  52. data/docs/UpdatesApi.md +4 -8
  53. data/docs/UsersApi.md +5 -5
  54. data/git_push.sh +67 -0
  55. data/lib/teleswagger.rb +20 -2
  56. data/lib/teleswagger/api/attachments_api.rb +367 -158
  57. data/lib/teleswagger/api/callbacks_api.rb +29 -47
  58. data/lib/teleswagger/api/chats_api.rb +316 -192
  59. data/lib/teleswagger/api/games_api.rb +46 -35
  60. data/lib/teleswagger/api/inline_api.rb +21 -8
  61. data/lib/teleswagger/api/messages_api.rb +84 -71
  62. data/lib/teleswagger/api/payments_api.rb +39 -26
  63. data/lib/teleswagger/api/stickers_api.rb +107 -116
  64. data/lib/teleswagger/api/updates_api.rb +50 -39
  65. data/lib/teleswagger/api/users_api.rb +36 -23
  66. data/lib/teleswagger/api_client.rb +45 -55
  67. data/lib/teleswagger/api_error.rb +18 -9
  68. data/lib/teleswagger/configuration.rb +13 -8
  69. data/lib/teleswagger/models/add_sticker_to_set_link_body.rb +16 -21
  70. data/lib/teleswagger/models/allowed_update.rb +15 -2
  71. data/lib/teleswagger/models/animation.rb +16 -9
  72. data/lib/teleswagger/models/answer_callback_query_body.rb +235 -0
  73. data/lib/teleswagger/models/answer_inline_query_body.rb +16 -13
  74. data/lib/teleswagger/models/answer_shipping_query_body.rb +16 -13
  75. data/lib/teleswagger/models/audio.rb +16 -5
  76. data/lib/teleswagger/models/callback_game.rb +16 -5
  77. data/lib/teleswagger/models/callback_query.rb +16 -5
  78. data/lib/teleswagger/models/chat.rb +38 -17
  79. data/lib/teleswagger/models/chat_member.rb +16 -13
  80. data/lib/teleswagger/models/chat_photo.rb +16 -5
  81. data/lib/teleswagger/models/chosen_inline_result.rb +16 -17
  82. data/lib/teleswagger/models/contact.rb +16 -5
  83. data/lib/teleswagger/models/create_new_sticker_set_link_body.rb +16 -25
  84. data/lib/teleswagger/models/document.rb +16 -5
  85. data/lib/teleswagger/models/edit_message_caption_body.rb +26 -6
  86. data/lib/teleswagger/models/edit_message_live_location_body.rb +246 -0
  87. data/lib/teleswagger/models/edit_message_reply_markup_body.rb +16 -5
  88. data/lib/teleswagger/models/edit_message_text_body.rb +16 -9
  89. data/lib/teleswagger/models/error.rb +16 -5
  90. data/lib/teleswagger/models/file.rb +16 -5
  91. data/lib/teleswagger/models/force_reply.rb +16 -5
  92. data/lib/teleswagger/models/game.rb +16 -17
  93. data/lib/teleswagger/models/game_high_score.rb +16 -5
  94. data/lib/teleswagger/models/get_updates_body.rb +228 -0
  95. data/lib/teleswagger/models/inline_keyboard_button.rb +16 -5
  96. data/lib/teleswagger/models/inline_keyboard_markup.rb +16 -5
  97. data/lib/teleswagger/models/inline_query.rb +16 -5
  98. data/lib/teleswagger/models/inline_query_result_article.rb +16 -21
  99. data/lib/teleswagger/models/inline_query_result_audio.rb +26 -22
  100. data/lib/teleswagger/models/inline_query_result_cached_audio.rb +26 -18
  101. data/lib/teleswagger/models/inline_query_result_cached_document.rb +26 -18
  102. data/lib/teleswagger/models/inline_query_result_cached_gif.rb +26 -18
  103. data/lib/teleswagger/models/inline_query_result_cached_mpeg4_gif.rb +26 -18
  104. data/lib/teleswagger/models/inline_query_result_cached_photo.rb +26 -18
  105. data/lib/teleswagger/models/inline_query_result_cached_sticker.rb +16 -17
  106. data/lib/teleswagger/models/inline_query_result_cached_video.rb +26 -18
  107. data/lib/teleswagger/models/inline_query_result_cached_voice.rb +26 -18
  108. data/lib/teleswagger/models/inline_query_result_contact.rb +16 -21
  109. data/lib/teleswagger/models/inline_query_result_document.rb +26 -26
  110. data/lib/teleswagger/models/inline_query_result_game.rb +16 -17
  111. data/lib/teleswagger/models/inline_query_result_gif.rb +26 -22
  112. data/lib/teleswagger/models/inline_query_result_location.rb +50 -24
  113. data/lib/teleswagger/models/inline_query_result_mpeg4_gif.rb +26 -22
  114. data/lib/teleswagger/models/inline_query_result_photo.rb +26 -22
  115. data/lib/teleswagger/models/inline_query_result_venue.rb +16 -29
  116. data/lib/teleswagger/models/inline_query_result_video.rb +26 -30
  117. data/lib/teleswagger/models/inline_query_result_voice.rb +26 -22
  118. data/lib/teleswagger/models/inline_response_200.rb +17 -6
  119. data/lib/teleswagger/models/inline_response_200_1.rb +17 -6
  120. data/lib/teleswagger/models/inline_response_200_2.rb +20 -7
  121. data/lib/teleswagger/models/inline_response_200_3.rb +17 -6
  122. data/lib/teleswagger/models/inline_response_200_4.rb +18 -9
  123. data/lib/teleswagger/models/inline_response_200_5.rb +17 -6
  124. data/lib/teleswagger/models/inline_response_200_6.rb +17 -6
  125. data/lib/teleswagger/models/inline_response_200_7.rb +17 -6
  126. data/lib/teleswagger/models/inline_response_200_8.rb +17 -6
  127. data/lib/teleswagger/models/inline_response_200_9.rb +17 -6
  128. data/lib/teleswagger/models/inline_type.rb +13 -2
  129. data/lib/teleswagger/models/input_contact_message_content.rb +16 -13
  130. data/lib/teleswagger/models/input_location_message_content.rb +51 -13
  131. data/lib/teleswagger/models/input_media_photo.rb +228 -0
  132. data/lib/teleswagger/models/input_media_video.rb +264 -0
  133. data/lib/teleswagger/models/input_text_message_content.rb +16 -9
  134. data/lib/teleswagger/models/input_venue_message_content.rb +16 -21
  135. data/lib/teleswagger/models/invoice.rb +16 -5
  136. data/lib/teleswagger/models/keyboard_button.rb +16 -5
  137. data/lib/teleswagger/models/labeled_price.rb +16 -5
  138. data/lib/teleswagger/models/location.rb +16 -5
  139. data/lib/teleswagger/models/mask_position.rb +16 -5
  140. data/lib/teleswagger/models/message.rb +49 -9
  141. data/lib/teleswagger/models/message_entity.rb +16 -5
  142. data/lib/teleswagger/models/order_info.rb +16 -5
  143. data/lib/teleswagger/models/parse_mode.rb +13 -2
  144. data/lib/teleswagger/models/photo_size.rb +16 -5
  145. data/lib/teleswagger/models/pre_checkout_query.rb +16 -5
  146. data/lib/teleswagger/models/promote_chat_member_body.rb +16 -13
  147. data/lib/teleswagger/models/reply_keyboard_markup.rb +17 -6
  148. data/lib/teleswagger/models/reply_keyboard_remove.rb +16 -5
  149. data/lib/teleswagger/models/response_bool.rb +16 -5
  150. data/lib/teleswagger/models/response_message.rb +16 -5
  151. data/lib/teleswagger/models/response_parameters.rb +16 -5
  152. data/lib/teleswagger/models/response_update.rb +16 -5
  153. data/lib/teleswagger/models/restrict_chat_member_body.rb +16 -13
  154. data/lib/teleswagger/models/send_audio_link_body.rb +16 -13
  155. data/lib/teleswagger/models/send_contact_body.rb +16 -17
  156. data/lib/teleswagger/models/send_document_link_body.rb +16 -13
  157. data/lib/teleswagger/models/send_game_body.rb +16 -13
  158. data/lib/teleswagger/models/send_invoice_body.rb +26 -38
  159. data/lib/teleswagger/models/send_location_body.rb +50 -16
  160. data/lib/teleswagger/models/send_media_group_link_body.rb +230 -0
  161. data/lib/teleswagger/models/send_message_body.rb +16 -13
  162. data/lib/teleswagger/models/send_photo_link_body.rb +16 -13
  163. data/lib/teleswagger/models/send_sticker_link_body.rb +16 -13
  164. data/lib/teleswagger/models/send_venue_body.rb +16 -25
  165. data/lib/teleswagger/models/send_video_link_body.rb +16 -13
  166. data/lib/teleswagger/models/send_video_note_link_body.rb +16 -13
  167. data/lib/teleswagger/models/send_voice_link_body.rb +16 -13
  168. data/lib/teleswagger/models/shipping_address.rb +16 -5
  169. data/lib/teleswagger/models/shipping_option.rb +16 -5
  170. data/lib/teleswagger/models/shipping_query.rb +16 -5
  171. data/lib/teleswagger/models/sticker.rb +16 -5
  172. data/lib/teleswagger/models/sticker_set.rb +16 -5
  173. data/lib/teleswagger/models/stop_message_live_location_body.rb +226 -0
  174. data/lib/teleswagger/models/successful_payment.rb +16 -5
  175. data/lib/teleswagger/models/update.rb +16 -5
  176. data/lib/teleswagger/models/user.rb +16 -5
  177. data/lib/teleswagger/models/user_profile_photos.rb +16 -5
  178. data/lib/teleswagger/models/venue.rb +16 -5
  179. data/lib/teleswagger/models/video.rb +16 -5
  180. data/lib/teleswagger/models/video_note.rb +16 -5
  181. data/lib/teleswagger/models/voice.rb +16 -5
  182. data/lib/teleswagger/models/webhook_info.rb +16 -17
  183. data/lib/teleswagger/version.rb +15 -4
  184. data/spec/models/answer_callback_query_body_spec.rb +77 -0
  185. data/spec/models/edit_message_live_location_body_spec.rb +83 -0
  186. data/spec/models/get_updates_body_spec.rb +71 -0
  187. data/spec/models/input_media_photo_spec.rb +71 -0
  188. data/spec/models/input_media_video_spec.rb +95 -0
  189. data/spec/models/send_media_group_link_body_spec.rb +71 -0
  190. data/spec/models/stop_message_live_location_body_spec.rb +71 -0
  191. data/swagger.yaml +428 -52
  192. data/teleswagger.gemspec +17 -8
  193. metadata +45 -14
@@ -3,10 +3,21 @@
3
3
 
4
4
  #This is a swagger defenition for [Telegram bot API](https://core.telegram.org/bots/api).
5
5
 
6
- OpenAPI spec version: 3.3
6
+ OpenAPI spec version: 3.6
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.2.3
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.
10
21
 
11
22
  =end
12
23
 
@@ -27,6 +38,8 @@ module Teleswagger
27
38
 
28
39
  attr_accessor :reply_markup
29
40
 
41
+ attr_accessor :live_period
42
+
30
43
 
31
44
  # Attribute mapping from ruby-style variable name to JSON key.
32
45
  def self.attribute_map
@@ -36,7 +49,8 @@ module Teleswagger
36
49
  :'longitude' => :'longitude',
37
50
  :'disable_notification' => :'disable_notification',
38
51
  :'reply_to_message_id' => :'reply_to_message_id',
39
- :'reply_markup' => :'reply_markup'
52
+ :'reply_markup' => :'reply_markup',
53
+ :'live_period' => :'live_period'
40
54
  }
41
55
  end
42
56
 
@@ -48,7 +62,8 @@ module Teleswagger
48
62
  :'longitude' => :'Float',
49
63
  :'disable_notification' => :'BOOLEAN',
50
64
  :'reply_to_message_id' => :'Integer',
51
- :'reply_markup' => :'Object'
65
+ :'reply_markup' => :'Object',
66
+ :'live_period' => :'Integer'
52
67
  }
53
68
  end
54
69
 
@@ -84,22 +99,23 @@ module Teleswagger
84
99
  self.reply_markup = attributes[:'reply_markup']
85
100
  end
86
101
 
102
+ if attributes.has_key?(:'live_period')
103
+ self.live_period = attributes[:'live_period']
104
+ end
105
+
87
106
  end
88
107
 
89
108
  # Show invalid properties with the reasons. Usually used together with valid?
90
109
  # @return Array for valid properies with the reasons
91
110
  def list_invalid_properties
92
111
  invalid_properties = Array.new
93
- if @chat_id.nil?
94
- invalid_properties.push("invalid value for 'chat_id', chat_id cannot be nil.")
95
- end
96
112
 
97
- if @latitude.nil?
98
- invalid_properties.push("invalid value for 'latitude', latitude cannot be nil.")
113
+ if !@live_period.nil? && @live_period > 86400.0
114
+ invalid_properties.push("invalid value for 'live_period', must be smaller than or equal to 86400.0.")
99
115
  end
100
116
 
101
- if @longitude.nil?
102
- invalid_properties.push("invalid value for 'longitude', longitude cannot be nil.")
117
+ if !@live_period.nil? && @live_period < 60.0
118
+ invalid_properties.push("invalid value for 'live_period', must be greater than or equal to 60.0.")
103
119
  end
104
120
 
105
121
  return invalid_properties
@@ -111,9 +127,26 @@ module Teleswagger
111
127
  return false if @chat_id.nil?
112
128
  return false if @latitude.nil?
113
129
  return false if @longitude.nil?
130
+ return false if !@live_period.nil? && @live_period > 86400.0
131
+ return false if !@live_period.nil? && @live_period < 60.0
114
132
  return true
115
133
  end
116
134
 
135
+ # Custom attribute writer method with validation
136
+ # @param [Object] live_period Value to be assigned
137
+ def live_period=(live_period)
138
+
139
+ if !live_period.nil? && live_period > 86400.0
140
+ fail ArgumentError, "invalid value for 'live_period', must be smaller than or equal to 86400.0."
141
+ end
142
+
143
+ if !live_period.nil? && live_period < 60.0
144
+ fail ArgumentError, "invalid value for 'live_period', must be greater than or equal to 60.0."
145
+ end
146
+
147
+ @live_period = live_period
148
+ end
149
+
117
150
  # Checks equality by comparing each attribute.
118
151
  # @param [Object] Object to be compared
119
152
  def ==(o)
@@ -124,7 +157,8 @@ module Teleswagger
124
157
  longitude == o.longitude &&
125
158
  disable_notification == o.disable_notification &&
126
159
  reply_to_message_id == o.reply_to_message_id &&
127
- reply_markup == o.reply_markup
160
+ reply_markup == o.reply_markup &&
161
+ live_period == o.live_period
128
162
  end
129
163
 
130
164
  # @see the `==` method
@@ -136,7 +170,7 @@ module Teleswagger
136
170
  # Calculates hash code according to all attributes.
137
171
  # @return [Fixnum] Hash code
138
172
  def hash
139
- [chat_id, latitude, longitude, disable_notification, reply_to_message_id, reply_markup].hash
173
+ [chat_id, latitude, longitude, disable_notification, reply_to_message_id, reply_markup, live_period].hash
140
174
  end
141
175
 
142
176
  # Builds the object from hash
@@ -145,7 +179,7 @@ module Teleswagger
145
179
  def build_from_hash(attributes)
146
180
  return nil unless attributes.is_a?(Hash)
147
181
  self.class.swagger_types.each_pair do |key, type|
148
- if type =~ /\AArray<(.*)>/i
182
+ if type =~ /^Array<(.*)>/i
149
183
  # check to ensure the input is an array given that the the attribute
150
184
  # is documented as an array but the input is not
151
185
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -176,7 +210,7 @@ module Teleswagger
176
210
  when :Float
177
211
  value.to_f
178
212
  when :BOOLEAN
179
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
213
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
180
214
  true
181
215
  else
182
216
  false
@@ -187,7 +221,7 @@ module Teleswagger
187
221
  when /\AArray<(?<inner_type>.+)>\z/
188
222
  inner_type = Regexp.last_match[:inner_type]
189
223
  value.map { |v| _deserialize(inner_type, v) }
190
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
224
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
191
225
  k_type = Regexp.last_match[:k_type]
192
226
  v_type = Regexp.last_match[:v_type]
193
227
  {}.tap do |hash|
@@ -0,0 +1,230 @@
1
+ =begin
2
+ #Telegram bot API
3
+
4
+ #This is a swagger defenition for [Telegram bot API](https://core.telegram.org/bots/api).
5
+
6
+ OpenAPI spec version: 3.6
7
+
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 Teleswagger
27
+
28
+ class SendMediaGroupLinkBody
29
+ attr_accessor :chat_id
30
+
31
+ attr_accessor :media
32
+
33
+ attr_accessor :disable_notification
34
+
35
+ attr_accessor :reply_to_message_id
36
+
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'chat_id' => :'chat_id',
42
+ :'media' => :'media',
43
+ :'disable_notification' => :'disable_notification',
44
+ :'reply_to_message_id' => :'reply_to_message_id'
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+ :'chat_id' => :'Object',
52
+ :'media' => :'Array<Object>',
53
+ :'disable_notification' => :'BOOLEAN',
54
+ :'reply_to_message_id' => :'Integer'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ def initialize(attributes = {})
61
+ return unless attributes.is_a?(Hash)
62
+
63
+ # convert string to symbol for hash key
64
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
65
+
66
+ if attributes.has_key?(:'chat_id')
67
+ self.chat_id = attributes[:'chat_id']
68
+ end
69
+
70
+ if attributes.has_key?(:'media')
71
+ if (value = attributes[:'media']).is_a?(Array)
72
+ self.media = value
73
+ end
74
+ end
75
+
76
+ if attributes.has_key?(:'disable_notification')
77
+ self.disable_notification = attributes[:'disable_notification']
78
+ end
79
+
80
+ if attributes.has_key?(:'reply_to_message_id')
81
+ self.reply_to_message_id = attributes[:'reply_to_message_id']
82
+ end
83
+
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properies with the reasons
88
+ def list_invalid_properties
89
+ invalid_properties = Array.new
90
+ return invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ return false if @chat_id.nil?
97
+ return false if @media.nil?
98
+ return true
99
+ end
100
+
101
+ # Checks equality by comparing each attribute.
102
+ # @param [Object] Object to be compared
103
+ def ==(o)
104
+ return true if self.equal?(o)
105
+ self.class == o.class &&
106
+ chat_id == o.chat_id &&
107
+ media == o.media &&
108
+ disable_notification == o.disable_notification &&
109
+ reply_to_message_id == o.reply_to_message_id
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Fixnum] Hash code
120
+ def hash
121
+ [chat_id, media, disable_notification, reply_to_message_id].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ self.class.swagger_types.each_pair do |key, type|
130
+ if type =~ /^Array<(.*)>/i
131
+ # check to ensure the input is an array given that the the attribute
132
+ # is documented as an array but the input is not
133
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
134
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
135
+ end
136
+ elsif !attributes[self.class.attribute_map[key]].nil?
137
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
138
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
139
+ end
140
+
141
+ self
142
+ end
143
+
144
+ # Deserializes the data based on type
145
+ # @param string type Data type
146
+ # @param string value Value to be deserialized
147
+ # @return [Object] Deserialized data
148
+ def _deserialize(type, value)
149
+ case type.to_sym
150
+ when :DateTime
151
+ DateTime.parse(value)
152
+ when :Date
153
+ Date.parse(value)
154
+ when :String
155
+ value.to_s
156
+ when :Integer
157
+ value.to_i
158
+ when :Float
159
+ value.to_f
160
+ when :BOOLEAN
161
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
162
+ true
163
+ else
164
+ false
165
+ end
166
+ when :Object
167
+ # generic object (usually a Hash), return directly
168
+ value
169
+ when /\AArray<(?<inner_type>.+)>\z/
170
+ inner_type = Regexp.last_match[:inner_type]
171
+ value.map { |v| _deserialize(inner_type, v) }
172
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
173
+ k_type = Regexp.last_match[:k_type]
174
+ v_type = Regexp.last_match[:v_type]
175
+ {}.tap do |hash|
176
+ value.each do |k, v|
177
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
178
+ end
179
+ end
180
+ else # model
181
+ temp_model = Teleswagger.const_get(type).new
182
+ temp_model.build_from_hash(value)
183
+ end
184
+ end
185
+
186
+ # Returns the string representation of the object
187
+ # @return [String] String presentation of the object
188
+ def to_s
189
+ to_hash.to_s
190
+ end
191
+
192
+ # to_body is an alias to to_hash (backward compatibility)
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_body
195
+ to_hash
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ next if value.nil?
205
+ hash[param] = _to_hash(value)
206
+ end
207
+ hash
208
+ end
209
+
210
+ # Outputs non-array value in the form of hash
211
+ # For object, use to_hash. Otherwise, just return the value
212
+ # @param [Object] value Any valid value
213
+ # @return [Hash] Returns the value in the form of hash
214
+ def _to_hash(value)
215
+ if value.is_a?(Array)
216
+ value.compact.map{ |v| _to_hash(v) }
217
+ elsif value.is_a?(Hash)
218
+ {}.tap do |hash|
219
+ value.each { |k, v| hash[k] = _to_hash(v) }
220
+ end
221
+ elsif value.respond_to? :to_hash
222
+ value.to_hash
223
+ else
224
+ value
225
+ end
226
+ end
227
+
228
+ end
229
+
230
+ end
@@ -3,10 +3,21 @@
3
3
 
4
4
  #This is a swagger defenition for [Telegram bot API](https://core.telegram.org/bots/api).
5
5
 
6
- OpenAPI spec version: 3.3
6
+ OpenAPI spec version: 3.6
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.2.3
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.
10
21
 
11
22
  =end
12
23
 
@@ -98,14 +109,6 @@ module Teleswagger
98
109
  # @return Array for valid properies with the reasons
99
110
  def list_invalid_properties
100
111
  invalid_properties = Array.new
101
- if @chat_id.nil?
102
- invalid_properties.push("invalid value for 'chat_id', chat_id cannot be nil.")
103
- end
104
-
105
- if @text.nil?
106
- invalid_properties.push("invalid value for 'text', text cannot be nil.")
107
- end
108
-
109
112
  return invalid_properties
110
113
  end
111
114
 
@@ -149,7 +152,7 @@ module Teleswagger
149
152
  def build_from_hash(attributes)
150
153
  return nil unless attributes.is_a?(Hash)
151
154
  self.class.swagger_types.each_pair do |key, type|
152
- if type =~ /\AArray<(.*)>/i
155
+ if type =~ /^Array<(.*)>/i
153
156
  # check to ensure the input is an array given that the the attribute
154
157
  # is documented as an array but the input is not
155
158
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -180,7 +183,7 @@ module Teleswagger
180
183
  when :Float
181
184
  value.to_f
182
185
  when :BOOLEAN
183
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
184
187
  true
185
188
  else
186
189
  false
@@ -191,7 +194,7 @@ module Teleswagger
191
194
  when /\AArray<(?<inner_type>.+)>\z/
192
195
  inner_type = Regexp.last_match[:inner_type]
193
196
  value.map { |v| _deserialize(inner_type, v) }
194
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
195
198
  k_type = Regexp.last_match[:k_type]
196
199
  v_type = Regexp.last_match[:v_type]
197
200
  {}.tap do |hash|
@@ -3,10 +3,21 @@
3
3
 
4
4
  #This is a swagger defenition for [Telegram bot API](https://core.telegram.org/bots/api).
5
5
 
6
- OpenAPI spec version: 3.3
6
+ OpenAPI spec version: 3.6
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.2.3
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.
10
21
 
11
22
  =end
12
23
 
@@ -90,14 +101,6 @@ module Teleswagger
90
101
  # @return Array for valid properies with the reasons
91
102
  def list_invalid_properties
92
103
  invalid_properties = Array.new
93
- if @chat_id.nil?
94
- invalid_properties.push("invalid value for 'chat_id', chat_id cannot be nil.")
95
- end
96
-
97
- if @photo.nil?
98
- invalid_properties.push("invalid value for 'photo', photo cannot be nil.")
99
- end
100
-
101
104
  return invalid_properties
102
105
  end
103
106
 
@@ -140,7 +143,7 @@ module Teleswagger
140
143
  def build_from_hash(attributes)
141
144
  return nil unless attributes.is_a?(Hash)
142
145
  self.class.swagger_types.each_pair do |key, type|
143
- if type =~ /\AArray<(.*)>/i
146
+ if type =~ /^Array<(.*)>/i
144
147
  # check to ensure the input is an array given that the the attribute
145
148
  # is documented as an array but the input is not
146
149
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -171,7 +174,7 @@ module Teleswagger
171
174
  when :Float
172
175
  value.to_f
173
176
  when :BOOLEAN
174
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
177
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
175
178
  true
176
179
  else
177
180
  false
@@ -182,7 +185,7 @@ module Teleswagger
182
185
  when /\AArray<(?<inner_type>.+)>\z/
183
186
  inner_type = Regexp.last_match[:inner_type]
184
187
  value.map { |v| _deserialize(inner_type, v) }
185
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
188
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
186
189
  k_type = Regexp.last_match[:k_type]
187
190
  v_type = Regexp.last_match[:v_type]
188
191
  {}.tap do |hash|