vkontakte_client 2.1.0 → 2.2.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
2
  SHA256:
3
- metadata.gz: 4b2ce4c1ffcbc6e0b93a3db237a10af3a7c3258632b5389be761e1464542bb62
4
- data.tar.gz: 4de7110a34a4584f15382f42011705f656b556bbff7b2d479da537d80b617031
3
+ metadata.gz: 365e64b86f80c85db718b455f7c211cfe2638a13246a129053017eca0493602a
4
+ data.tar.gz: eba8db9f623c92d138f9c06fab19d80e3383900638853fda2f9062ca34fc52f5
5
5
  SHA512:
6
- metadata.gz: 2d9209f70432c4b4f635f38850c70c11b1c302b0a573935e7bb09ea602faedcc63f9e5da7b82730239395ed5e9d80db44dd7f2e61d9ef05f049158083e1ffc0e
7
- data.tar.gz: b1cf4cf5806276b724a36cff6161e050a4c4c1fd7c12f809ff1ebbf3fd04893d21bdd02d70e5d9c758450be4247f5ceadeacf5719c460c248e152604c6a3eb41
6
+ metadata.gz: 2ede0fd21608c56d6cb994537274541138eb1e3006da0476baa7ed106b76fe3ea8195b1d5eb67fa6d63816aef92055e8ad51f8c74f5fefbfff44e0e8440f530a
7
+ data.tar.gz: bab79e14426ea0634ee6644533c239344dfd43b1eac3eb95b34ed7b6d633a9794a67354c77757d4b1f62cf8f3c1d37aa2d201c3c87def558e43522f441e98ae4
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.7
2
+ TargetRubyVersion: 3.2
3
3
  NewCops: enable
4
4
 
5
5
  Metrics/AbcSize:
data/Gemfile CHANGED
@@ -3,3 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
+
7
+ group :development do
8
+ gem 'rubocop', '~> 1.57', '>= 1.57.0'
9
+ end
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2010-2022 Anton Maminov
3
+ Copyright (c) 2010-2023 Anton Maminov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -97,6 +97,6 @@ api.friends_get(fields: 'online', order: 'name', name_case: 'dat')
97
97
 
98
98
  ## License
99
99
 
100
- Copyright: 2010-2022 Anton Maminov (anton.maminov@gmail.com)
100
+ Copyright: 2010-2023 Anton Maminov (anton.maminov@gmail.com)
101
101
 
102
102
  This library is distributed under the MIT license. Please see the LICENSE file.
@@ -26,10 +26,10 @@ if $PROGRAM_NAME == __FILE__
26
26
  user_ids.each do |user_id|
27
27
  print "Accept user with id `#{user_id}`"
28
28
  begin
29
- vk_api.friends_add(user_id: user_id)
29
+ vk_api.friends_add(user_id:)
30
30
  puts ' - OK'
31
31
  rescue Vkontakte::API::Error => e
32
- vk_api.account_banUser(user_id: user_id) if e.error_code == 177
32
+ vk_api.account_banUser(user_id:) if e.error_code == 177
33
33
  puts ' - Skip'
34
34
  end
35
35
  end
@@ -3,9 +3,7 @@
3
3
  require 'bundler'
4
4
  Bundler.setup :default
5
5
 
6
- require 'pp'
7
6
  require 'vkontakte_client'
8
- require 'pry'
9
7
 
10
8
  puts Vkontakte::VERSION
11
9
 
@@ -10,7 +10,6 @@ Bundler.setup :default
10
10
 
11
11
  require 'vkontakte_client'
12
12
 
13
- require 'pp'
14
13
  require 'date'
15
14
  require 'net/http'
16
15
  require 'uri'
@@ -21,7 +21,7 @@ if $PROGRAM_NAME == __FILE__
21
21
  offset = 0
22
22
 
23
23
  loop do
24
- fr = vk.api.friends_getRequests(count: count, offset: offset * count, out: 1)['items']
24
+ fr = vk.api.friends_getRequests(count:, offset: offset * count, out: 1)['items']
25
25
  break if fr.empty?
26
26
 
27
27
  out_requests << fr
data/lib/vkontakte/api.rb CHANGED
@@ -61,14 +61,14 @@ module Vkontakte
61
61
  uri.port,
62
62
  @proxy.addr,
63
63
  @proxy.port,
64
- use_ssl: use_ssl,
64
+ use_ssl:,
65
65
  read_timeout: timeout,
66
66
  open_timeout: timeout
67
67
  ) do |http|
68
68
  http.request(request)
69
69
  end
70
70
  elsif @proxy.socks?
71
- Net::HTTP.SOCKSProxy(@proxy.addr, @proxy.port).start(uri.hostname, uri.port, use_ssl: use_ssl) do |http|
71
+ Net::HTTP.SOCKSProxy(@proxy.addr, @proxy.port).start(uri.hostname, uri.port, use_ssl:) do |http|
72
72
  http.request(request)
73
73
  end
74
74
  end
@@ -76,7 +76,7 @@ module Vkontakte
76
76
  Net::HTTP.start(
77
77
  uri.hostname,
78
78
  uri.port,
79
- use_ssl: use_ssl,
79
+ use_ssl:,
80
80
  read_timeout: timeout,
81
81
  open_timeout: timeout
82
82
  ) do |http|
@@ -35,22 +35,13 @@ module Vkontakte
35
35
 
36
36
  query = {
37
37
  client_id: @client_id,
38
- redirect_uri: redirect_uri,
39
- display: display,
38
+ redirect_uri:,
39
+ display:,
40
40
  scope: permissions,
41
- response_type: response_type,
41
+ response_type:,
42
42
  v: api_version
43
43
  }
44
44
 
45
- agent = Mechanize.new do |a|
46
- a.user_agent_alias = 'Linux Firefox'
47
- a.follow_meta_refresh
48
- a.log = Logger.new($stdout) if @log
49
-
50
- a.agent.set_socks(@proxy.addr, @proxy.port) if @proxy&.socks?
51
- a.agent.set_proxy(@proxy.addr, @proxy.port) if @proxy&.http?
52
- end
53
-
54
45
  # Opening Authorization Dialog
55
46
  #
56
47
  query_string = query.map { |k, v| "#{k}=#{v}" }.join('&')
@@ -76,17 +67,19 @@ module Vkontakte
76
67
 
77
68
  private
78
69
 
79
- def get_token(page)
80
- auth_regexp = /access_token=(?<access_token>.*)&expires_in=(?<expires_in>\d+)&user_id=(?<user_id>\d*)\z/
81
-
82
- return false unless page.uri.path == '/auth_redirect'
83
-
84
- query_params = URI.decode_www_form(page.uri.query).to_h
85
- authorize_url = CGI.unescape(query_params['authorize_url'])
70
+ def agent
71
+ @agent ||= Mechanize.new do |a|
72
+ a.user_agent = 'Opera/9.80 (Android; Opera Mini/7.5.33942/191.308; U; en) Presto/2.12.423 Version/12.16'
73
+ a.follow_meta_refresh
74
+ a.log = Logger.new($stdout) if @log
86
75
 
87
- auth_params = authorize_url.match(auth_regexp)
76
+ a.agent.set_socks(@proxy.addr, @proxy.port) if @proxy&.socks?
77
+ a.agent.set_proxy(@proxy.addr, @proxy.port) if @proxy&.http?
78
+ end
79
+ end
88
80
 
89
- return false unless auth_params
81
+ def initialize_vkontakte_api(auth_params)
82
+ return @api if authorized?
90
83
 
91
84
  @access_token = auth_params[:access_token]
92
85
  @user_id = auth_params[:user_id]
@@ -98,6 +91,21 @@ module Vkontakte
98
91
  api_version: @api_version,
99
92
  timeout: @timeout
100
93
  )
94
+ end
95
+
96
+ def get_token(page)
97
+ auth_regexp = /access_token=(?<access_token>.*)&expires_in=(?<expires_in>\d+)&user_id=(?<user_id>\d*)\z/
98
+
99
+ return false unless page.uri.path == '/auth_redirect'
100
+
101
+ query_params = URI.decode_www_form(page.uri.query).to_h
102
+ authorize_url = CGI.unescape(query_params['authorize_url'])
103
+
104
+ auth_params = authorize_url.match(auth_regexp)
105
+
106
+ return false unless auth_params
107
+
108
+ initialize_vkontakte_api(auth_params)
101
109
 
102
110
  @authorize = true
103
111
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vkontakte
4
- VERSION = '2.1.0'
4
+ VERSION = '2.2.0'
5
5
  end
@@ -13,14 +13,11 @@ Gem::Specification.new do |gem|
13
13
 
14
14
  gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
15
15
  gem.files = `git ls-files`.split("\n")
16
- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
16
  gem.name = 'vkontakte_client'
18
17
  gem.require_paths = ['lib']
19
18
  gem.version = Vkontakte::VERSION
20
- gem.required_ruby_version = '>= 2.7.0'
19
+ gem.required_ruby_version = '>= 3.2.0'
21
20
  gem.add_runtime_dependency 'mechanize', '~> 2.8', '>= 2.8.0'
22
21
  gem.add_runtime_dependency 'socksify', '~> 1.7', '>= 1.7.0'
23
- gem.add_development_dependency 'pry', '~> 0.14', '>= 0.14.0'
24
- gem.add_development_dependency 'rubocop', '~> 1.18', '>= 1.18.0'
25
22
  gem.metadata['rubygems_mfa_required'] = 'true'
26
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vkontakte_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Maminov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-10 00:00:00.000000000 Z
11
+ date: 2023-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
@@ -50,46 +50,6 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 1.7.0
53
- - !ruby/object:Gem::Dependency
54
- name: pry
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '0.14'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 0.14.0
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '0.14'
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 0.14.0
73
- - !ruby/object:Gem::Dependency
74
- name: rubocop
75
- requirement: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - "~>"
78
- - !ruby/object:Gem::Version
79
- version: '1.18'
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.18.0
83
- type: :development
84
- prerelease: false
85
- version_requirements: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '1.18'
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 1.18.0
93
53
  description: VKontakte API Client for Ruby
94
54
  email:
95
55
  - anton.maminov@gmail.com
@@ -137,14 +97,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
97
  requirements:
138
98
  - - ">="
139
99
  - !ruby/object:Gem::Version
140
- version: 2.7.0
100
+ version: 3.2.0
141
101
  required_rubygems_version: !ruby/object:Gem::Requirement
142
102
  requirements:
143
103
  - - ">="
144
104
  - !ruby/object:Gem::Version
145
105
  version: '0'
146
106
  requirements: []
147
- rubygems_version: 3.3.3
107
+ rubygems_version: 3.4.14
148
108
  signing_key:
149
109
  specification_version: 4
150
110
  summary: Unofficial VKontakte API Client for Ruby