tdlib-ruby 3.0.2 → 3.1.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
2
  SHA256:
3
- metadata.gz: 612a00067010b79a241845d781fb4421660bbf1cbd8b4f336e84b1d46ef003ab
4
- data.tar.gz: 21b2834e4534fbd947cb3c598e89052dd11a4d271a32cdfd13ad78da79c7fd79
3
+ metadata.gz: 3eb88ee0c6fafc92210e78a2d038cbbec3c09db2ba001574ff1af21436fc41d6
4
+ data.tar.gz: 590a4c52abcaf3b775d2f8b1e32a91a06e1911a3d46e282d8fc2a3700dfa4364
5
5
  SHA512:
6
- metadata.gz: 024de439f9df9bf161b411401c59cca2bd2772b179cd09b15337189280d55d1ec65dae6d8ce55bf07cc58e83870968be02ab726de9ef7fc14f8d66be2e51ae91
7
- data.tar.gz: e45fd9dbc5bb849f4a349cd8842db8d8b2a1b83d1c8d822712a8931a5b329941eeb4af43637b572e5dfda3bef196d4f02475356a52429aefecb5a681fcece6f6
6
+ metadata.gz: fb2ab9095d979bc32bd4ad15927e723cb77e30a4ecdc10d53485f3c153eab5afdc3cec3f831a5d1cfafadf19cbea170169bc9a813921fd3930a5d47339de786e
7
+ data.tar.gz: b1b85a70c2a08aa1d1894bf96eb8bd7dfd10e80624537b916812e0b2b0c949ed1ae7cc2bdaafbf9a0f3d689ea4def7c0cd66ab6abc0ca5934cece6f8b4b2080b
data/ChangeLog.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 3.0.4 / 2024-09-05
2
+
3
+ * Change ffi gem version to '~> 1.15.0'
4
+
5
+ ### 3.0.3 / 2024-08-29
6
+
7
+ * Remove the verification encryption key and unnecessary configurations
8
+
1
9
  ### 3.0.2 / 2020-06-29
2
10
 
3
11
  * Rescue exceptions in update manager thread
data/README.md CHANGED
@@ -32,6 +32,13 @@ http://rpms.southbridge.ru/rhel6/stable/SRPMS/
32
32
  | 2.1 | → | 1.5 |
33
33
  | 2.2 | → | 1.6 |
34
34
 
35
+ IMPORTANT: From version 3.0 types schema is extracted to a separate gem: https://github.com/southbridgeio/tdlib-schema
36
+ If you want to support specific tdlib version, just set a dependency in your Gemfile:
37
+
38
+ ```ruby
39
+ gem 'tdlib-schema', '~> 1.7.0'
40
+ ```
41
+
35
42
  ## Install
36
43
 
37
44
  Add to your gemfile:
@@ -85,15 +92,15 @@ begin
85
92
  when :wait_phone_number
86
93
  puts 'Please, enter your phone number:'
87
94
  phone = STDIN.gets.strip
88
- client.set_authentication_phone_number(phone, nil).wait
95
+ client.set_authentication_phone_number(phone_number: phone, settings: nil).wait
89
96
  when :wait_code
90
97
  puts 'Please, enter code from SMS:'
91
98
  code = STDIN.gets.strip
92
- client.check_authentication_code(code).wait
99
+ client.check_authentication_code(code: code).wait
93
100
  when :wait_password
94
101
  puts 'Please, enter 2FA password:'
95
102
  password = STDIN.gets.strip
96
- client.check_authentication_password(password).wait
103
+ client.check_authentication_password(password: password).wait
97
104
  when :ready
98
105
  client.get_me.then { |user| @me = user }.rescue { |err| puts "error: #{err}" }.wait
99
106
  break
@@ -114,7 +121,7 @@ Client methods are being executed asynchronously and return Concurrent::Promises
114
121
 
115
122
  ```ruby
116
123
  TD.configure do |config|
117
- config.lib_path = 'path/to/dir_containing_libtdjson' # libtdson will be searched in this directory (*.so, *.dylib, *.dll are valid extensions). For Rails projects, if not set, will be considered as project_root_path/vendor. If not set and file doesn't exist in vendor, it will try to find lib by ldconfig (only on Linux).
124
+ config.lib_path = 'path/to/dir_containing_libtdjson' # libtdjson will be searched in this directory (*.so, *.dylib, *.dll are valid extensions). For Rails projects, if not set, will be considered as project_root_path/vendor. If not set and file doesn't exist in vendor, it will try to find lib by ldconfig (only on Linux).
118
125
  config.encryption_key = 'your_encryption_key' # it's not required
119
126
 
120
127
  config.client.api_id = 12345
data/lib/tdlib/client.rb CHANGED
@@ -36,13 +36,10 @@ class TD::Client
36
36
  on TD::Types::Update::AuthorizationState do |update|
37
37
  case update.authorization_state
38
38
  when TD::Types::AuthorizationState::WaitTdlibParameters
39
- set_tdlib_parameters(parameters: TD::Types::TdlibParameters.new(**@config))
40
- when TD::Types::AuthorizationState::WaitEncryptionKey
41
- check_database_encryption_key(encryption_key: TD.config.encryption_key).then do
42
- @ready_condition_mutex.synchronize do
43
- @ready = true
44
- @ready_condition.broadcast
45
- end
39
+ set_tdlib_parameters(**@config)
40
+ @ready_condition_mutex.synchronize do
41
+ @ready = true
42
+ @ready_condition.broadcast
46
43
  end
47
44
  else
48
45
  # do nothing
data/lib/tdlib/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module TD
2
2
  # tdlib-ruby version
3
- VERSION = "3.0.2"
3
+ VERSION = "3.1.0"
4
4
  end
data/lib/tdlib-ruby.rb CHANGED
@@ -16,21 +16,19 @@ module TD
16
16
  setting :encryption_key
17
17
 
18
18
  setting :client do
19
- setting :api_id, &:to_i
19
+ setting :api_id, constructor: ->(id) { id&.to_i }
20
20
  setting :api_hash
21
- setting :use_test_dc, false
22
- setting :database_directory, "#{Dir.home}/.tdlib-ruby/db"
23
- setting :files_directory, "#{Dir.home}/.tdlib-ruby/data"
24
- setting :use_file_database, true
25
- setting :use_chat_info_database, true
26
- setting :use_secret_chats, true
27
- setting :use_message_database, true
28
- setting :system_language_code, 'en'
29
- setting :device_model, 'Ruby TD client'
30
- setting :system_version, 'Unknown'
31
- setting :application_version, '1.0'
32
- setting :enable_storage_optimizer, true
33
- setting :ignore_file_names, false
21
+ setting :use_test_dc, default: false
22
+ setting :database_directory, default: "#{Dir.home}/.tdlib-ruby/db"
23
+ setting :files_directory, default: "#{Dir.home}/.tdlib-ruby/data"
24
+ setting :use_file_database, default: true
25
+ setting :use_chat_info_database, default: true
26
+ setting :use_secret_chats, default: true
27
+ setting :use_message_database, default: true
28
+ setting :system_language_code, default: 'en'
29
+ setting :device_model, default: 'Ruby TD client'
30
+ setting :system_version, default: 'Unknown'
31
+ setting :application_version, default: '1.0'
34
32
  end
35
33
  end
36
34
 
data/tdlib-ruby.gemspec CHANGED
@@ -20,9 +20,9 @@ Gem::Specification.new do |gem|
20
20
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
21
21
  gem.require_paths = ['lib']
22
22
 
23
- gem.add_runtime_dependency 'dry-configurable', '~> 0.9'
23
+ gem.add_runtime_dependency 'dry-configurable', '~> 0.13'
24
24
  gem.add_runtime_dependency 'concurrent-ruby', '~> 1.1'
25
- gem.add_runtime_dependency 'ffi', '~> 1.0'
25
+ gem.add_runtime_dependency 'ffi', '~> 1.15.0'
26
26
  gem.add_runtime_dependency 'tdlib-schema'
27
27
 
28
28
  gem.add_development_dependency 'bundler', '~> 2.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdlib-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Southbridge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-29 00:00:00.000000000 Z
11
+ date: 2024-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '0.13'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.9'
26
+ version: '0.13'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: concurrent-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: 1.15.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: 1.15.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: tdlib-schema
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  - !ruby/object:Gem::Version
202
202
  version: '0'
203
203
  requirements: []
204
- rubygems_version: 3.1.4
204
+ rubygems_version: 3.5.23
205
205
  signing_key:
206
206
  specification_version: 4
207
207
  summary: Ruby bindings and client for TDlib