telegram-bot-types 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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