vk_music 4.1.3 → 4.1.6
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 +4 -4
- data/.env.example +0 -0
- data/.github/workflows/ruby.yml +0 -0
- data/.gitignore +1 -0
- data/.rspec +0 -0
- data/.rubocop.yml +8 -0
- data/.ruby-version +1 -0
- data/Gemfile +13 -12
- data/Gemfile.lock +48 -49
- data/LICENSE.txt +0 -0
- data/README.md +0 -0
- data/Rakefile +16 -0
- data/bin/console +7 -6
- data/lib/vk_music/audio.rb +0 -0
- data/lib/vk_music/client.rb +0 -0
- data/lib/vk_music/playlist.rb +0 -0
- data/lib/vk_music/request/artist.rb +0 -0
- data/lib/vk_music/request/audios_reload.rb +0 -0
- data/lib/vk_music/request/base.rb +0 -0
- data/lib/vk_music/request/login.rb +0 -0
- data/lib/vk_music/request/my_page.rb +0 -0
- data/lib/vk_music/request/playlist.rb +0 -0
- data/lib/vk_music/request/playlist_section.rb +0 -0
- data/lib/vk_music/request/post.rb +0 -0
- data/lib/vk_music/request/profile.rb +0 -0
- data/lib/vk_music/request/search.rb +0 -0
- data/lib/vk_music/request/wall_section.rb +0 -0
- data/lib/vk_music/request.rb +0 -0
- data/lib/vk_music/utility/artist_loader.rb +0 -0
- data/lib/vk_music/utility/artist_url_parser.rb +0 -0
- data/lib/vk_music/utility/audio_data_parser.rb +0 -0
- data/lib/vk_music/utility/audio_items_parser.rb +0 -0
- data/lib/vk_music/utility/audio_node_parser.rb +0 -0
- data/lib/vk_music/utility/audios_from_ids_loader.rb +0 -0
- data/lib/vk_music/utility/audios_ids_getter.rb +0 -0
- data/lib/vk_music/utility/audios_loader.rb +0 -0
- data/lib/vk_music/utility/authorizer.rb +45 -0
- data/lib/vk_music/utility/cookie_reader.rb +33 -0
- data/lib/vk_music/utility/data_type_guesser.rb +0 -0
- data/lib/vk_music/utility/duration_parser.rb +6 -4
- data/lib/vk_music/utility/last_profile_post_loader.rb +0 -0
- data/lib/vk_music/utility/link_decoder.rb +0 -0
- data/lib/vk_music/utility/node_text_children_reader.rb +0 -0
- data/lib/vk_music/utility/playlist_loader.rb +0 -0
- data/lib/vk_music/utility/playlist_node_parser.rb +0 -0
- data/lib/vk_music/utility/playlist_section_loader.rb +0 -0
- data/lib/vk_music/utility/playlist_url_parser.rb +0 -0
- data/lib/vk_music/utility/post_loader.rb +3 -1
- data/lib/vk_music/utility/post_url_parser.rb +0 -0
- data/lib/vk_music/utility/profile_id_resolver.rb +0 -0
- data/lib/vk_music/utility/wall_loader.rb +0 -0
- data/lib/vk_music/utility.rb +0 -0
- data/lib/vk_music/version.rb +1 -1
- data/lib/vk_music/web_parser/artist.rb +0 -0
- data/lib/vk_music/web_parser/audios_reload.rb +0 -0
- data/lib/vk_music/web_parser/base.rb +0 -0
- data/lib/vk_music/web_parser/login.rb +0 -0
- data/lib/vk_music/web_parser/my_page.rb +0 -0
- data/lib/vk_music/web_parser/playlist.rb +0 -0
- data/lib/vk_music/web_parser/playlist_section.rb +0 -0
- data/lib/vk_music/web_parser/post.rb +0 -0
- data/lib/vk_music/web_parser/profile.rb +0 -0
- data/lib/vk_music/web_parser/search.rb +0 -0
- data/lib/vk_music/web_parser/wall_section.rb +0 -0
- data/lib/vk_music/web_parser.rb +0 -0
- data/lib/vk_music.rb +0 -0
- data/vk_music.gemspec +0 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 337cb0c1fa139bd4b9872dad678a25690ea46f8ef4f3699f5cc23917216e4bbd
|
4
|
+
data.tar.gz: 7aff1c6a20c69b353e3944016fab1023090d8f8976d887c9fb90bd675d19af3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 859f932430130e9951b62861c10e3c7930dc0bcaa0249f3531609a235ea07004c9a4caa1e89c69b648ce26abc01d55f82a320cc4a7a759541cbfe07e607cb1cd
|
7
|
+
data.tar.gz: 13974cec16d21151b9462a400984f491a071a6cfb40861b9242e1d7557f370d4b0c65355055b9371a1bc4c308e39da589e1592b6923bc62f201b239ecf961691
|
data/.env.example
CHANGED
File without changes
|
data/.github/workflows/ruby.yml
CHANGED
File without changes
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
File without changes
|
data/.rubocop.yml
CHANGED
@@ -54,3 +54,11 @@ Style/DisableCopsWithinSourceCodeDirective:
|
|
54
54
|
Enabled: false
|
55
55
|
Layout/MultilineHashKeyLineBreaks:
|
56
56
|
Enabled: false
|
57
|
+
Layout/SingleLineBlockChain:
|
58
|
+
Exclude:
|
59
|
+
- 'spec/**/*_spec.rb'
|
60
|
+
Style/TopLevelMethodDefinition:
|
61
|
+
Exclude:
|
62
|
+
- 'spec/login_helper.rb'
|
63
|
+
Lint/NumberConversion:
|
64
|
+
Enabled: false
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.7.2
|
data/Gemfile
CHANGED
@@ -6,33 +6,34 @@ source 'https://rubygems.org'
|
|
6
6
|
gemspec
|
7
7
|
|
8
8
|
group :test, :development do
|
9
|
-
# Debugging console
|
10
|
-
gem 'pry'
|
11
|
-
|
12
9
|
# Another debugging console
|
13
|
-
gem 'byebug'
|
10
|
+
gem 'byebug', '~> 11.1'
|
14
11
|
|
15
12
|
# The thing, forcing you to write good code
|
16
|
-
gem 'rubocop', require: false
|
13
|
+
gem 'rubocop', '~> 1.21', require: false
|
14
|
+
# Guidelines for writing RSpec tests
|
15
|
+
gem 'rubocop-rspec', '~> 2.4', require: false
|
16
|
+
# Guidelines for Rake tasks
|
17
|
+
gem 'rubocop-rake', '~> 0.6', require: false
|
17
18
|
|
18
19
|
# Rake tasks
|
19
|
-
gem 'rake', require: false
|
20
|
+
gem 'rake', '~> 13.0', require: false
|
20
21
|
|
21
22
|
# Testing
|
22
|
-
gem 'rspec', require: false
|
23
|
+
gem 'rspec', '~> 3.10', require: false
|
23
24
|
|
24
25
|
# Docs
|
25
|
-
gem 'yard', require: false
|
26
|
+
gem 'yard', '~> 0.9', require: false
|
26
27
|
|
27
28
|
# .env support
|
28
|
-
gem 'dotenv'
|
29
|
+
gem 'dotenv', '~> 2.7'
|
29
30
|
|
30
31
|
# Save web requests for fast and reliable testing
|
31
|
-
gem 'vcr'
|
32
|
+
gem 'vcr', '~> 6.0'
|
32
33
|
|
33
34
|
# Stub web requests
|
34
|
-
gem 'webmock'
|
35
|
+
gem 'webmock', '~> 3.14'
|
35
36
|
|
36
37
|
# Test coverage
|
37
|
-
gem 'simplecov', require: false, group: :test
|
38
|
+
gem 'simplecov', '~> 0.21', require: false, group: :test
|
38
39
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
vk_music (4.1.
|
4
|
+
vk_music (4.1.6)
|
5
5
|
execjs (~> 2.7)
|
6
6
|
json (~> 2.3)
|
7
7
|
logger (~> 1.4)
|
@@ -11,26 +11,25 @@ PATH
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
13
13
|
specs:
|
14
|
-
addressable (2.
|
14
|
+
addressable (2.8.0)
|
15
15
|
public_suffix (>= 2.0.2, < 5.0)
|
16
|
-
ast (2.4.
|
16
|
+
ast (2.4.2)
|
17
17
|
byebug (11.1.3)
|
18
|
-
coderay (1.1.3)
|
19
18
|
crack (0.4.5)
|
20
19
|
rexml
|
21
20
|
diff-lcs (1.4.4)
|
22
|
-
docile (1.
|
21
|
+
docile (1.4.0)
|
23
22
|
domain_name (0.5.20190701)
|
24
23
|
unf (>= 0.0.5, < 1.0.0)
|
25
24
|
dotenv (2.7.6)
|
26
|
-
execjs (2.
|
25
|
+
execjs (2.8.1)
|
27
26
|
hashdiff (1.0.1)
|
28
|
-
http-cookie (1.0.
|
27
|
+
http-cookie (1.0.4)
|
29
28
|
domain_name (~> 0.5)
|
30
|
-
json (2.
|
31
|
-
logger (1.4.
|
32
|
-
mechanize (2.8.
|
33
|
-
addressable (~> 2.
|
29
|
+
json (2.6.1)
|
30
|
+
logger (1.4.4)
|
31
|
+
mechanize (2.8.3)
|
32
|
+
addressable (~> 2.8)
|
34
33
|
domain_name (~> 0.5, >= 0.5.20190701)
|
35
34
|
http-cookie (~> 1.0, >= 1.0.3)
|
36
35
|
mime-types (~> 3.0)
|
@@ -40,27 +39,21 @@ GEM
|
|
40
39
|
rubyntlm (~> 0.6, >= 0.6.3)
|
41
40
|
webrick (~> 1.7)
|
42
41
|
webrobots (~> 0.1.2)
|
43
|
-
|
44
|
-
mime-types (3.3.1)
|
42
|
+
mime-types (3.4.1)
|
45
43
|
mime-types-data (~> 3.2015)
|
46
|
-
mime-types-data (3.2021.
|
47
|
-
mini_portile2 (2.5.1)
|
44
|
+
mime-types-data (3.2021.1115)
|
48
45
|
net-http-digest_auth (1.4.1)
|
49
46
|
net-http-persistent (2.9.4)
|
50
|
-
nokogiri (1.
|
51
|
-
mini_portile2 (~> 2.5.0)
|
47
|
+
nokogiri (1.12.5-x86_64-linux)
|
52
48
|
racc (~> 1.4)
|
53
|
-
parallel (1.
|
54
|
-
parser (3.0.
|
49
|
+
parallel (1.21.0)
|
50
|
+
parser (3.0.2.0)
|
55
51
|
ast (~> 2.4.1)
|
56
|
-
pry (0.13.1)
|
57
|
-
coderay (~> 1.1)
|
58
|
-
method_source (~> 1.0)
|
59
52
|
public_suffix (4.0.6)
|
60
|
-
racc (1.
|
53
|
+
racc (1.6.0)
|
61
54
|
rainbow (3.0.0)
|
62
|
-
rake (13.0.
|
63
|
-
regexp_parser (2.
|
55
|
+
rake (13.0.6)
|
56
|
+
regexp_parser (2.1.1)
|
64
57
|
rexml (3.2.5)
|
65
58
|
rspec (3.10.0)
|
66
59
|
rspec-core (~> 3.10.0)
|
@@ -71,36 +64,41 @@ GEM
|
|
71
64
|
rspec-expectations (3.10.1)
|
72
65
|
diff-lcs (>= 1.2.0, < 2.0)
|
73
66
|
rspec-support (~> 3.10.0)
|
74
|
-
rspec-mocks (3.10.
|
67
|
+
rspec-mocks (3.10.2)
|
75
68
|
diff-lcs (>= 1.2.0, < 2.0)
|
76
69
|
rspec-support (~> 3.10.0)
|
77
|
-
rspec-support (3.10.
|
78
|
-
rubocop (1.
|
70
|
+
rspec-support (3.10.2)
|
71
|
+
rubocop (1.21.0)
|
79
72
|
parallel (~> 1.10)
|
80
|
-
parser (>=
|
73
|
+
parser (>= 3.0.0.0)
|
81
74
|
rainbow (>= 2.2.2, < 4.0)
|
82
75
|
regexp_parser (>= 1.8, < 3.0)
|
83
76
|
rexml
|
84
|
-
rubocop-ast (>= 1.
|
77
|
+
rubocop-ast (>= 1.9.1, < 2.0)
|
85
78
|
ruby-progressbar (~> 1.7)
|
86
|
-
unicode-display_width (>= 1.4.0, <
|
87
|
-
rubocop-ast (1.
|
88
|
-
parser (>=
|
79
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
80
|
+
rubocop-ast (1.11.0)
|
81
|
+
parser (>= 3.0.1.1)
|
82
|
+
rubocop-rake (0.6.0)
|
83
|
+
rubocop (~> 1.0)
|
84
|
+
rubocop-rspec (2.4.0)
|
85
|
+
rubocop (~> 1.0)
|
86
|
+
rubocop-ast (>= 1.1.0)
|
89
87
|
ruby-progressbar (1.11.0)
|
90
88
|
rubyntlm (0.6.3)
|
91
|
-
simplecov (0.21.
|
89
|
+
simplecov (0.21.2)
|
92
90
|
docile (~> 1.1)
|
93
91
|
simplecov-html (~> 0.11)
|
94
92
|
simplecov_json_formatter (~> 0.1)
|
95
93
|
simplecov-html (0.12.3)
|
96
|
-
simplecov_json_formatter (0.1.
|
94
|
+
simplecov_json_formatter (0.1.3)
|
97
95
|
unf (0.1.4)
|
98
96
|
unf_ext
|
99
|
-
unf_ext (0.0.
|
100
|
-
unicode-display_width (1.
|
97
|
+
unf_ext (0.0.8)
|
98
|
+
unicode-display_width (2.1.0)
|
101
99
|
vcr (6.0.0)
|
102
|
-
webmock (3.
|
103
|
-
addressable (>= 2.
|
100
|
+
webmock (3.14.0)
|
101
|
+
addressable (>= 2.8.0)
|
104
102
|
crack (>= 0.3.2)
|
105
103
|
hashdiff (>= 0.4.0, < 2.0.0)
|
106
104
|
webrick (1.7.0)
|
@@ -111,17 +109,18 @@ PLATFORMS
|
|
111
109
|
ruby
|
112
110
|
|
113
111
|
DEPENDENCIES
|
114
|
-
byebug
|
115
|
-
dotenv
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
rubocop
|
120
|
-
|
121
|
-
|
112
|
+
byebug (~> 11.1)
|
113
|
+
dotenv (~> 2.7)
|
114
|
+
rake (~> 13.0)
|
115
|
+
rspec (~> 3.10)
|
116
|
+
rubocop (~> 1.21)
|
117
|
+
rubocop-rake (~> 0.6)
|
118
|
+
rubocop-rspec (~> 2.4)
|
119
|
+
simplecov (~> 0.21)
|
120
|
+
vcr (~> 6.0)
|
122
121
|
vk_music!
|
123
|
-
webmock
|
124
|
-
yard
|
122
|
+
webmock (~> 3.14)
|
123
|
+
yard (~> 0.9)
|
125
124
|
|
126
125
|
BUNDLED WITH
|
127
126
|
2.2.4
|
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/Rakefile
CHANGED
@@ -16,3 +16,19 @@ YARD::Rake::YardocTask.new do |t|
|
|
16
16
|
end
|
17
17
|
|
18
18
|
task default: %i[rubocop spec yard]
|
19
|
+
|
20
|
+
namespace :clean do
|
21
|
+
desc 'Remove generated cassettes'
|
22
|
+
task :cassetes do
|
23
|
+
require 'fileutils'
|
24
|
+
|
25
|
+
FileUtils.rm_r Dir.glob('spec/cassetes/*/')
|
26
|
+
end
|
27
|
+
|
28
|
+
desc 'Remove generated cookies'
|
29
|
+
task :cookies do
|
30
|
+
require 'fileutils'
|
31
|
+
|
32
|
+
FileUtils.rm('spec/.cookies')
|
33
|
+
end
|
34
|
+
end
|
data/bin/console
CHANGED
@@ -3,16 +3,17 @@
|
|
3
3
|
|
4
4
|
require 'bundler/setup'
|
5
5
|
require 'vk_music'
|
6
|
-
require '
|
6
|
+
require 'irb'
|
7
7
|
require 'dotenv'
|
8
8
|
Dotenv.load
|
9
9
|
|
10
10
|
# You can add fixtures and/or initialization code here to make experimenting
|
11
11
|
# with your gem easier. You can also use a different console, if you like.
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
puts "You now can access client##{client.id}"
|
16
|
-
end
|
13
|
+
# Path to file where development cookies will be stored
|
14
|
+
AGENT_COOKIES_PATH = '.cookies'
|
17
15
|
|
18
|
-
|
16
|
+
agent = VkMusic::Utility::Authorizer.call(ENV['VK_LOGIN'], ENV['VK_PASSWORD'], AGENT_COOKIES_PATH)
|
17
|
+
@client = VkMusic::Client.new(agent: agent)
|
18
|
+
|
19
|
+
IRB.start
|
data/lib/vk_music/audio.rb
CHANGED
File without changes
|
data/lib/vk_music/client.rb
CHANGED
File without changes
|
data/lib/vk_music/playlist.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/vk_music/request.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module VkMusic
|
4
|
+
module Utility
|
5
|
+
# Creates authorized client based of cookies file or ENV variables
|
6
|
+
module Authorizer
|
7
|
+
class << self
|
8
|
+
# @param cookie_path [string]
|
9
|
+
# @return [Mechanize] logged in Mechanize client
|
10
|
+
def call(login, password, cookie_path)
|
11
|
+
agent = Mechanize.new
|
12
|
+
if File.exist?(cookie_path)
|
13
|
+
load_cookie_jar(agent.cookie_jar, cookie_path)
|
14
|
+
else
|
15
|
+
login_agent(agent, login, password)
|
16
|
+
end
|
17
|
+
agent.cookie_jar.save(cookie_path, session: true)
|
18
|
+
agent
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# @return [Client] logged in client.
|
24
|
+
def logged_in_client
|
25
|
+
VkMusic::Client.new(agent: logged_in_agent)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @param jar [HTTP::CookieJar]
|
29
|
+
# @param path [string]
|
30
|
+
def load_cookie_jar(jar, path)
|
31
|
+
VkMusic::Utility::CookieReader.call(jar, path)
|
32
|
+
rescue StandardError => e
|
33
|
+
VkMusic.log.error('authorizer') { "Failed to parse saved cookies: #{e}:\m#{e.full_message}" }
|
34
|
+
end
|
35
|
+
|
36
|
+
# Logs in provided agent
|
37
|
+
def login_agent(agent, login, password)
|
38
|
+
login_request = VkMusic::Request::Login.new
|
39
|
+
login_request.call(agent)
|
40
|
+
login_request.send_form(login, password, agent)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module VkMusic
|
4
|
+
module Utility
|
5
|
+
# Reads preserved cookies from file and writes them into a cookie jar
|
6
|
+
module CookieReader
|
7
|
+
class << self
|
8
|
+
# @param jar [HTTP::CookieJar]
|
9
|
+
# @param path [string]
|
10
|
+
def call(jar, path)
|
11
|
+
data = File.read(path)
|
12
|
+
data.start_with?('{') ? load_cookie_jar_json(jar, data) : load_cookie_jar_mechanize(jar)
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
# Loads cookies from JSON data
|
18
|
+
def load_cookie_jar_json(jar, data)
|
19
|
+
VkMusic.log.info('cookie_reader') { 'Loading JSON cookies' }
|
20
|
+
JSON.parse(data).each_pair do |k, v|
|
21
|
+
jar.add(URI('https://m.vk.com'), HTTP::Cookie.new(k, v))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Loads cookies from Mechanize file
|
26
|
+
def load_cookie_jar_mechanize(jar)
|
27
|
+
VkMusic.log.info('cookie_reader') { 'Loading Mechanize cookies' }
|
28
|
+
jar.load(AGENT_COOKIES_PATH)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
File without changes
|
@@ -7,10 +7,12 @@ module VkMusic
|
|
7
7
|
# @param str [String] string in format "HH:MM:SS" or something alike (+/d++ Regex selector is used)
|
8
8
|
# @return [Integer] amount of seconds
|
9
9
|
def self.call(str)
|
10
|
-
str
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
str
|
11
|
+
.scan(/\d+/)
|
12
|
+
.map { |i| Integer(i, 10) }
|
13
|
+
.reverse
|
14
|
+
.each_with_index
|
15
|
+
.reduce(0) { |acc, (count, position)| acc + (count * (60**position)) }
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -16,7 +16,9 @@ module VkMusic
|
|
16
16
|
|
17
17
|
wall_audios = WallLoader.call(agent, client_id, owner_id, post_id).audios
|
18
18
|
|
19
|
-
urlles_audios
|
19
|
+
urlles_audios
|
20
|
+
.map { |urlles| wall_audios.find { |audio| audio.like?(urlles) } }
|
21
|
+
.compact
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
File without changes
|
File without changes
|
File without changes
|
data/lib/vk_music/utility.rb
CHANGED
File without changes
|
data/lib/vk_music/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/vk_music/web_parser.rb
CHANGED
File without changes
|
data/lib/vk_music.rb
CHANGED
File without changes
|
data/vk_music.gemspec
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vk_music
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.1.
|
4
|
+
version: 4.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fizvlad
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: execjs
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- ".gitignore"
|
93
93
|
- ".rspec"
|
94
94
|
- ".rubocop.yml"
|
95
|
+
- ".ruby-version"
|
95
96
|
- Gemfile
|
96
97
|
- Gemfile.lock
|
97
98
|
- LICENSE.txt
|
@@ -123,6 +124,8 @@ files:
|
|
123
124
|
- lib/vk_music/utility/audios_from_ids_loader.rb
|
124
125
|
- lib/vk_music/utility/audios_ids_getter.rb
|
125
126
|
- lib/vk_music/utility/audios_loader.rb
|
127
|
+
- lib/vk_music/utility/authorizer.rb
|
128
|
+
- lib/vk_music/utility/cookie_reader.rb
|
126
129
|
- lib/vk_music/utility/data_type_guesser.rb
|
127
130
|
- lib/vk_music/utility/duration_parser.rb
|
128
131
|
- lib/vk_music/utility/last_profile_post_loader.rb
|
@@ -172,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
175
|
- !ruby/object:Gem::Version
|
173
176
|
version: '0'
|
174
177
|
requirements: []
|
175
|
-
rubygems_version: 3.
|
178
|
+
rubygems_version: 3.1.4
|
176
179
|
signing_key:
|
177
180
|
specification_version: 4
|
178
181
|
summary: A library to work with audios on popular Russian social network
|