telegram-bot-types 0.5.0 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: efd171234f59546cec519c29366258709481e042
4
- data.tar.gz: 9eab2e052f4425620d217e9caa01a62b9d7c2b4c
2
+ SHA256:
3
+ metadata.gz: e4b32009d5dedcd1de88acf32c99da29349a8a739779025c6d4b8ebae50a0852
4
+ data.tar.gz: cec4cf9b78f15bf3d6c32d96106de88f85823793e7abfb58145db1ae43624a24
5
5
  SHA512:
6
- metadata.gz: 002a6095e19407aac9e7a96fc9839da49fc844887cc9f88c27b5327eb186360e103e6bd0c54b474b25ad63f9e6f286b3c9e91991551e51aa6e481deb2c3dcb0e
7
- data.tar.gz: 92879a21d4bcdbde8d4d732e315f42aa74db1d7451ffb01e92bcfd9285a7c9f6134387fd7e1b2e709a652366eb98ce0a62ea7941d6707ee2be9c35a172857d30
6
+ metadata.gz: 81a30cfe38c70f0c8fbae4cb322c042753f651f11a3fd3901b3b8b1658b31e69e20c34cb9e401c72539c6e17ee638d63cec572f8d9db7f1cb95b8b0ac8231ab2
7
+ data.tar.gz: f34ec643b8041d22eafbc86ca38fb587a36c665fb11130e20ad3acd8bc4b990dfa1d9a35f066f66322361add485521a7bb5a3cb4c093caf0b7812e796156c826
@@ -0,0 +1,8 @@
1
+ # 0.6
2
+
3
+ - Add WebhookInfo
4
+ - Add Response module to cast results from api methods.
5
+
6
+ # Older
7
+
8
+ See `git log`. `¯\_(ツ)_/¯`
@@ -1,9 +1,14 @@
1
- require 'active_support/core_ext/string/inflections'
2
-
3
1
  module Telegram
4
2
  module Bot
5
3
  module Types
6
- %w(
4
+ module_function
5
+
6
+ # Simple implementation for internal use only.
7
+ def camelize(str)
8
+ str.gsub(/(?:_|(\/)|^)([a-z\d]*)/i) { "#{$1}#{$2.capitalize}" }
9
+ end
10
+
11
+ %w[
7
12
  animation
8
13
  audio
9
14
  base
@@ -59,6 +64,7 @@ module Telegram
59
64
  pre_checkout_query
60
65
  reply_keyboard_markup
61
66
  reply_keyboard_remove
67
+ response
62
68
  shipping_address
63
69
  shipping_option
64
70
  shipping_query
@@ -69,12 +75,12 @@ module Telegram
69
75
  user
70
76
  user_profile_photos
71
77
  venue
72
- version
73
78
  video
74
79
  video_note
75
80
  voice
76
- ).each do |type|
77
- autoload type.camelize, "telegram/bot/types/#{type}"
81
+ webhook_info
82
+ ].each do |type|
83
+ autoload camelize(type), "telegram/bot/types/#{type}"
78
84
  end
79
85
  end
80
86
  end
@@ -0,0 +1,92 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ module Response
5
+ module_function
6
+
7
+ WRAPPED_METHODS = {
8
+ # Generated with bin/fetch-telegram-methods
9
+ # Bot API 3.5.
10
+
11
+ getUpdates: [Update],
12
+ # setWebhook
13
+ # deleteWebhook
14
+ getWebhookInfo: WebhookInfo,
15
+
16
+ getMe: User,
17
+ sendMessage: Message,
18
+ forwardMessage: Message,
19
+ sendPhoto: Message,
20
+ sendAudio: Message,
21
+ sendDocument: Message,
22
+ sendVideo: Message,
23
+ sendVoice: Message,
24
+ sendVideoNote: Message,
25
+ sendMediaGroup: Message,
26
+ sendLocation: Message,
27
+ editMessageLiveLocation: Message, # or true
28
+ stopMessageLiveLocation: Message, # or true
29
+ sendVenue: Message,
30
+ sendContact: Message,
31
+ # sendChatAction
32
+ getUserProfilePhotos: UserProfilePhotos,
33
+ getFile: File,
34
+ # kickChatMember
35
+ # unbanChatMember
36
+ # restrictChatMember
37
+ # promoteChatMember
38
+ # exportChatInviteLink
39
+ # setChatPhoto
40
+ # deleteChatPhoto
41
+ # setChatTitle
42
+ # setChatDescription
43
+ # pinChatMessage
44
+ # unpinChatMessage
45
+ # leaveChat
46
+ getChat: Chat,
47
+ getChatAdministrators: [ChatMember],
48
+ # getChatMembersCount
49
+ getChatMember: ChatMember,
50
+ # setChatStickerSet
51
+ # deleteChatStickerSet
52
+ # answerCallbackQuery
53
+
54
+ editMessageText: Message, # or true
55
+ editMessageCaption: Message, # or true
56
+ editMessageReplyMarkup: Message, # or true
57
+ # deleteMessage
58
+
59
+ sendSticker: Message,
60
+ getStickerSet: StickerSet,
61
+ uploadStickerFile: File,
62
+ # createNewStickerSet
63
+ # addStickerToSet
64
+ # setStickerPositionInSet
65
+ # deleteStickerFromSet
66
+
67
+ # answerInlineQuery
68
+
69
+ sendInvoice: Message,
70
+ # answerShippingQuery
71
+ # answerPreCheckoutQuery
72
+
73
+ sendGame: Message,
74
+ setGameScore: Message, # or true
75
+ getGameHighScores: [GameHighScore],
76
+ }.freeze
77
+
78
+ # Wraps response with a given type. There are some methods that can
79
+ # return either object ot true, so it bypasses true value as is.
80
+ def wrap(object, type)
81
+ return object if object == true
82
+ if type.is_a?(Array)
83
+ type = type.first
84
+ object.map { |x| type.new(x) }
85
+ else
86
+ type.new(object)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -1,7 +1,7 @@
1
1
  module Telegram
2
2
  module Bot
3
3
  module Types
4
- VERSION = '0.5.0'.freeze
4
+ VERSION = '0.6.0'.freeze
5
5
 
6
6
  def self.gem_version
7
7
  Gem::Version.new VERSION
@@ -0,0 +1,15 @@
1
+ module Telegram
2
+ module Bot
3
+ module Types
4
+ class WebhookInfo < Base
5
+ attribute :url, String
6
+ attribute :has_custom_certificate, Boolean
7
+ attribute :pending_update_count, Integer
8
+ attribute :last_error_date, Integer
9
+ attribute :last_error_message, String
10
+ attribute :max_connections, Integer
11
+ attribute :allowed_updates, [String]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ['lib']
20
20
 
21
21
  spec.add_dependency 'virtus', '~> 1.0'
22
- spec.add_dependency 'activesupport'
23
22
 
24
23
  spec.add_development_dependency 'bundler', '~> 1.9'
25
24
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -27,5 +26,5 @@ Gem::Specification.new do |spec|
27
26
  spec.add_development_dependency 'rspec-its', '~> 1.1'
28
27
 
29
28
  spec.add_development_dependency 'pry', '~> 0.10'
30
- spec.add_development_dependency 'rubocop', '~> 0.37.0'
29
+ spec.add_development_dependency 'rubocop', '~> 0.52.0'
31
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telegram-bot-types
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Tipugin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-10-02 00:00:00.000000000 Z
12
+ date: 2018-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: virtus
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.0'
28
- - !ruby/object:Gem::Dependency
29
- name: activesupport
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: bundler
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -115,14 +101,14 @@ dependencies:
115
101
  requirements:
116
102
  - - "~>"
117
103
  - !ruby/object:Gem::Version
118
- version: 0.37.0
104
+ version: 0.52.0
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
108
  requirements:
123
109
  - - "~>"
124
110
  - !ruby/object:Gem::Version
125
- version: 0.37.0
111
+ version: 0.52.0
126
112
  description:
127
113
  email:
128
114
  - atipugin@gmail.com
@@ -135,6 +121,7 @@ files:
135
121
  - ".rspec"
136
122
  - ".rubocop.yml"
137
123
  - ".travis.yml"
124
+ - CHANGELOG.md
138
125
  - Gemfile
139
126
  - LICENSE.txt
140
127
  - README.md
@@ -199,6 +186,7 @@ files:
199
186
  - lib/telegram/bot/types/pre_checkout_query.rb
200
187
  - lib/telegram/bot/types/reply_keyboard_markup.rb
201
188
  - lib/telegram/bot/types/reply_keyboard_remove.rb
189
+ - lib/telegram/bot/types/response.rb
202
190
  - lib/telegram/bot/types/shipping_address.rb
203
191
  - lib/telegram/bot/types/shipping_option.rb
204
192
  - lib/telegram/bot/types/shipping_query.rb
@@ -213,6 +201,7 @@ files:
213
201
  - lib/telegram/bot/types/video.rb
214
202
  - lib/telegram/bot/types/video_note.rb
215
203
  - lib/telegram/bot/types/voice.rb
204
+ - lib/telegram/bot/types/webhook_info.rb
216
205
  - telegram-bot-types.gemspec
217
206
  homepage: https://github.com/telegram-bot-rb/telegram-bot-types
218
207
  licenses:
@@ -234,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
223
  version: '0'
235
224
  requirements: []
236
225
  rubyforge_project:
237
- rubygems_version: 2.6.8
226
+ rubygems_version: 2.7.6
238
227
  signing_key:
239
228
  specification_version: 4
240
229
  summary: Virtus types for Telegram Bot API