arfi 0.3.1 → 0.5.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 +4 -4
- data/README.md +139 -35
- data/Steepfile +35 -0
- data/lib/arfi/cli.rb +8 -1
- data/lib/arfi/commands/f_idx.rb +88 -34
- data/lib/arfi/commands/project.rb +20 -3
- data/lib/arfi/extensions/active_record/base.rb +18 -2
- data/lib/arfi/extensions/active_record/connection_adapters/postgresql/database_statements.rb +1 -0
- data/lib/arfi/railtie.rb +1 -1
- data/lib/arfi/sql_function_loader.rb +99 -8
- data/lib/arfi/tasks/db.rake +23 -2
- data/lib/arfi/version.rb +1 -1
- data/rakelib/yard_docs_generator.rake +29 -0
- data/rbs_collection.lock.yaml +452 -0
- data/rbs_collection.yaml +19 -0
- data/sig/lib/arfi/cli.rbs +6 -0
- data/sig/lib/arfi/commands/f_idx.rbs +20 -7
- data/sig/lib/arfi/commands/project.rbs +15 -1
- data/sig/lib/arfi/railtie.rbs +4 -0
- data/sig/lib/arfi/sql_function_loader.rbs +53 -1
- data/sig/lib/arfi/version.rbs +1 -1
- metadata +42 -7
@@ -8,19 +8,84 @@ module Arfi
|
|
8
8
|
#
|
9
9
|
# Loads user defined SQL functions into database.
|
10
10
|
#
|
11
|
+
# @param task_name [String|nil] Name of the task.
|
11
12
|
# @return [nil] if there is no `db/functions` directory.
|
12
13
|
# @return [void] if there is no errors.
|
13
|
-
|
14
|
-
|
15
|
-
return unless sql_files.any?
|
16
|
-
raise Arfi::Errors::AdapterNotSupported if conn.adapter_name == 'SQLite'
|
14
|
+
def load!(task_name: nil)
|
15
|
+
self.task_name = task_name[/([^:]+$)/] if task_name
|
16
|
+
return puts 'No SQL files found. Skipping db population with ARFI' unless sql_files.any?
|
17
17
|
|
18
|
-
|
18
|
+
raise_unless_supported_adapter
|
19
|
+
handle_db_population
|
19
20
|
conn.close
|
20
21
|
end
|
21
22
|
|
22
23
|
private
|
23
24
|
|
25
|
+
attr_accessor :task_name
|
26
|
+
|
27
|
+
# +Arfi::SqlFunctionLoader#raise_unless_supported_adapter+ -> void
|
28
|
+
#
|
29
|
+
# Checks if the database adapter is supported.
|
30
|
+
#
|
31
|
+
# @!visibility private
|
32
|
+
# @private
|
33
|
+
# @return [void]
|
34
|
+
# @raise [Arfi::Errors::AdapterNotSupported]
|
35
|
+
def raise_unless_supported_adapter
|
36
|
+
allowed = %w[ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
|
37
|
+
ActiveRecord::ConnectionAdapters::Mysql2Adapter].freeze
|
38
|
+
return if allowed.include?(conn.class.to_s) # steep:ignore ArgumentTypeMismatch
|
39
|
+
|
40
|
+
raise Arfi::Errors::AdapterNotSupported
|
41
|
+
end
|
42
|
+
|
43
|
+
# +Arfi::SqlFunctionLoader#handle_db_population+ -> void
|
44
|
+
#
|
45
|
+
# Loads user defined SQL functions into database. This conditional branch was written this way because if we
|
46
|
+
# call db:migrate:db_name, then task_name will not be nil, but it will be zero if we call db:migrate. Then we
|
47
|
+
# check that the application has been configured to work with multiple databases in order to populate all
|
48
|
+
# databases, and only after this check can we populate the database in case the db:migrate (or any other) task
|
49
|
+
# has been called for configuration with a single database. Go to `lib/arfi/tasks/db.rake` for additional info.
|
50
|
+
#
|
51
|
+
# @!visibility private
|
52
|
+
# @private
|
53
|
+
# @return [void]
|
54
|
+
def handle_db_population
|
55
|
+
if task_name || (task_name && multi_db?) || task_name.nil?
|
56
|
+
populate_db
|
57
|
+
elsif multi_db?
|
58
|
+
populate_multiple_db
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# +Arfi::SqlFunctionLoader#multi_db?+ -> Boolean
|
63
|
+
#
|
64
|
+
# Checks if the application has been configured to work with multiple databases.
|
65
|
+
#
|
66
|
+
# @return [Boolean]
|
67
|
+
def multi_db?
|
68
|
+
ActiveRecord::Base.configurations.configurations.count { _1.env_name == Rails.env } > 1 # steep:ignore NoMethod
|
69
|
+
end
|
70
|
+
|
71
|
+
# +Arfi::SqlFunctionLoader#populate_multiple_db+ -> void
|
72
|
+
#
|
73
|
+
# Loads user defined SQL functions into all databases.
|
74
|
+
#
|
75
|
+
# @!visibility private
|
76
|
+
# @private
|
77
|
+
# @return [void]
|
78
|
+
# @see Arfi::SqlFunctionLoader#multi_db?
|
79
|
+
# @see Arfi::SqlFunctionLoader#populate_db
|
80
|
+
def populate_multiple_db
|
81
|
+
# steep:ignore:start
|
82
|
+
ActiveRecord::Base.configurations.configurations.select { _1.env_name == Rails.env }.each do |config|
|
83
|
+
ActiveRecord::Base.establish_connection(config)
|
84
|
+
populate_db
|
85
|
+
end
|
86
|
+
# steep:ignore:end
|
87
|
+
end
|
88
|
+
|
24
89
|
# +Arfi::SqlFunctionLoader#populate_db+ -> void
|
25
90
|
#
|
26
91
|
# Loads user defined SQL functions into database.
|
@@ -32,19 +97,45 @@ module Arfi
|
|
32
97
|
sql_files.each do |file|
|
33
98
|
sql = File.read(file).strip
|
34
99
|
conn.execute(sql)
|
35
|
-
puts "[ARFI] Loaded: #{File.basename(file)}"
|
100
|
+
puts "[ARFI] Loaded: #{File.basename(file)} into #{conn.pool.db_config.env_name} #{conn.pool.db_config.name}"
|
36
101
|
end
|
37
102
|
end
|
38
103
|
|
39
104
|
# +Arfi::SqlFunctionLoader#sql_files+ -> Array<String>
|
40
105
|
#
|
41
|
-
# Helper method to get list of SQL files.
|
106
|
+
# Helper method to get list of SQL files. Here we check if we need to populate all databases or just one.
|
42
107
|
#
|
43
108
|
# @!visibility private
|
44
109
|
# @private
|
45
110
|
# @return [Array<String>] List of SQL files.
|
111
|
+
# @see Arfi::SqlFunctionLoader#load!
|
112
|
+
# @see Arfi::SqlFunctionLoader#multi_db?
|
113
|
+
# @see Arfi::SqlFunctionLoader#sql_functions_by_adapter
|
46
114
|
def sql_files
|
47
|
-
|
115
|
+
if task_name || multi_db?
|
116
|
+
sql_functions_by_adapter
|
117
|
+
else
|
118
|
+
Dir.glob(Rails.root.join('db', 'functions').join('*.sql'))
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
# +Arfi::SqlFunctionLoader#sql_functions_by_adapter+ -> Array<String>
|
123
|
+
#
|
124
|
+
# Helper method to get list of SQL files for specific database adapter.
|
125
|
+
#
|
126
|
+
# @!visibility private
|
127
|
+
# @private
|
128
|
+
# @return [Array<String>] List of SQL files.
|
129
|
+
# @raise [Arfi::Errors::AdapterNotSupported] if database adapter is not supported.
|
130
|
+
def sql_functions_by_adapter
|
131
|
+
case conn
|
132
|
+
when ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
|
133
|
+
Dir.glob(Rails.root.join('db', 'functions', 'postgresql').join('*.sql'))
|
134
|
+
when ActiveRecord::ConnectionAdapters::Mysql2Adapter
|
135
|
+
Dir.glob(Rails.root.join('db', 'functions', 'mysql').join('*.sql'))
|
136
|
+
else
|
137
|
+
raise Arfi::Errors::AdapterNotSupported
|
138
|
+
end
|
48
139
|
end
|
49
140
|
|
50
141
|
# +Arfi::SqlFunctionLoader#conn+ -> ActiveRecord::ConnectionAdapters::AbstractAdapter
|
data/lib/arfi/tasks/db.rake
CHANGED
@@ -10,8 +10,29 @@ namespace :_db do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
Rake::Task.define_task(:environment) unless Rake::Task.task_defined?(:environment)
|
13
|
-
raise UnrecognizedCommandError, 'Warning: db:migrate task not found' unless Rake::Task.task_defined?('db:migrate')
|
14
13
|
|
15
|
-
|
14
|
+
# Enhancing single db tasks
|
15
|
+
%w[db:migrate db:schema:load db:setup].each do |task|
|
16
16
|
Rake::Task[task].enhance(['_db:arfi_enhance']) if Rake::Task.task_defined?(task)
|
17
17
|
end
|
18
|
+
|
19
|
+
# We remove user defined keys in database.yml and use only the ones about RDBMS connections.
|
20
|
+
# Here we try to find tasks like db:migrate:your_db_name and enhance them as well as tasks for single db connections.
|
21
|
+
rdbms_configs = Rails.configuration.database_configuration[Rails.env].select { |_k, v| v.is_a?(Hash) }.keys
|
22
|
+
possible_tasks = Rake::Task.tasks.select do |task|
|
23
|
+
task.name.match?(/^(db:migrate:|db:schema:load:|db:setup:|db:prepare:|db:test:prepare:)(\w+)$/)
|
24
|
+
end
|
25
|
+
possible_tasks = possible_tasks.select do |task|
|
26
|
+
rdbms_configs.any? { |n| task.name.include?(n) }
|
27
|
+
end
|
28
|
+
|
29
|
+
# In general, this is a small trick due to the fact that Rake does not allow you to view parent tasks from a task that
|
30
|
+
# was called for enhancing. Moreover, the utility does not provide for passing parameters to the called task.
|
31
|
+
# To get around this limitation, we dynamically create a task with the name we need, and then pass this name as
|
32
|
+
# an argument to the method.
|
33
|
+
possible_tasks.each do |task|
|
34
|
+
Rake::Task.define_task("_db:arfi_enhance:#{task.name}") do
|
35
|
+
Arfi::SqlFunctionLoader.load!(task_name: task.name)
|
36
|
+
end
|
37
|
+
task.enhance(["_db:arfi_enhance:#{task.name}"])
|
38
|
+
end
|
data/lib/arfi/version.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yard'
|
4
|
+
|
5
|
+
# run as `rm -rf arfi_docs && bundle exec rake docs:generate && bundle exec rake docs:push`
|
6
|
+
|
7
|
+
namespace :docs do
|
8
|
+
desc 'Generate new docs and push them repo'
|
9
|
+
task :generate do
|
10
|
+
puts 'Generating docs...'
|
11
|
+
args = %w[--no-cache --private --protected --readme README.md --no-progress --output-dir doc]
|
12
|
+
YARD::CLI::Yardoc.run(*args)
|
13
|
+
puts 'Docs generated'
|
14
|
+
end
|
15
|
+
|
16
|
+
desc 'Push docs to repo'
|
17
|
+
task :push do
|
18
|
+
puts 'Copying docs...'
|
19
|
+
`git clone git@github.com:unurgunite/arfi_docs.git`
|
20
|
+
Dir.chdir('arfi_docs') do
|
21
|
+
cp_r('../doc/.', '.', remove_destination: true)
|
22
|
+
`git add .`
|
23
|
+
`git commit -m "Update docs #{Time.now.utc}"`
|
24
|
+
`git push`
|
25
|
+
end
|
26
|
+
rm_rf('arfi_docs')
|
27
|
+
puts 'Docs pushed'
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,452 @@
|
|
1
|
+
---
|
2
|
+
path: ".gem_rbs_collection"
|
3
|
+
gems:
|
4
|
+
- name: actioncable
|
5
|
+
version: '7.1'
|
6
|
+
source:
|
7
|
+
type: git
|
8
|
+
name: ruby/gem_rbs_collection
|
9
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
10
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
11
|
+
repo_dir: gems
|
12
|
+
- name: actionmailer
|
13
|
+
version: '7.0'
|
14
|
+
source:
|
15
|
+
type: git
|
16
|
+
name: ruby/gem_rbs_collection
|
17
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
18
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
19
|
+
repo_dir: gems
|
20
|
+
- name: actionpack
|
21
|
+
version: '7.2'
|
22
|
+
source:
|
23
|
+
type: git
|
24
|
+
name: ruby/gem_rbs_collection
|
25
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
26
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
27
|
+
repo_dir: gems
|
28
|
+
- name: actiontext
|
29
|
+
version: '7.2'
|
30
|
+
source:
|
31
|
+
type: git
|
32
|
+
name: ruby/gem_rbs_collection
|
33
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
34
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
35
|
+
repo_dir: gems
|
36
|
+
- name: actionview
|
37
|
+
version: '6.0'
|
38
|
+
source:
|
39
|
+
type: git
|
40
|
+
name: ruby/gem_rbs_collection
|
41
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
42
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
43
|
+
repo_dir: gems
|
44
|
+
- name: activejob
|
45
|
+
version: '6.0'
|
46
|
+
source:
|
47
|
+
type: git
|
48
|
+
name: ruby/gem_rbs_collection
|
49
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
50
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
51
|
+
repo_dir: gems
|
52
|
+
- name: activemodel
|
53
|
+
version: '7.1'
|
54
|
+
source:
|
55
|
+
type: git
|
56
|
+
name: ruby/gem_rbs_collection
|
57
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
58
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
59
|
+
repo_dir: gems
|
60
|
+
- name: activerecord
|
61
|
+
version: '8.0'
|
62
|
+
source:
|
63
|
+
type: git
|
64
|
+
name: ruby/gem_rbs_collection
|
65
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
66
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
67
|
+
repo_dir: gems
|
68
|
+
- name: activestorage
|
69
|
+
version: '7.0'
|
70
|
+
source:
|
71
|
+
type: git
|
72
|
+
name: ruby/gem_rbs_collection
|
73
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
74
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
75
|
+
repo_dir: gems
|
76
|
+
- name: activesupport
|
77
|
+
version: '7.0'
|
78
|
+
source:
|
79
|
+
type: git
|
80
|
+
name: ruby/gem_rbs_collection
|
81
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
82
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
83
|
+
repo_dir: gems
|
84
|
+
- name: ast
|
85
|
+
version: '2.4'
|
86
|
+
source:
|
87
|
+
type: git
|
88
|
+
name: ruby/gem_rbs_collection
|
89
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
90
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
91
|
+
repo_dir: gems
|
92
|
+
- name: base64
|
93
|
+
version: '0.1'
|
94
|
+
source:
|
95
|
+
type: git
|
96
|
+
name: ruby/gem_rbs_collection
|
97
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
98
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
99
|
+
repo_dir: gems
|
100
|
+
- name: benchmark
|
101
|
+
version: '0'
|
102
|
+
source:
|
103
|
+
type: stdlib
|
104
|
+
- name: bigdecimal
|
105
|
+
version: '3.1'
|
106
|
+
source:
|
107
|
+
type: git
|
108
|
+
name: ruby/gem_rbs_collection
|
109
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
110
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
111
|
+
repo_dir: gems
|
112
|
+
- name: cgi
|
113
|
+
version: '0'
|
114
|
+
source:
|
115
|
+
type: stdlib
|
116
|
+
- name: concurrent-ruby
|
117
|
+
version: '1.1'
|
118
|
+
source:
|
119
|
+
type: git
|
120
|
+
name: ruby/gem_rbs_collection
|
121
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
122
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
123
|
+
repo_dir: gems
|
124
|
+
- name: connection_pool
|
125
|
+
version: '2.4'
|
126
|
+
source:
|
127
|
+
type: git
|
128
|
+
name: ruby/gem_rbs_collection
|
129
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
130
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
131
|
+
repo_dir: gems
|
132
|
+
- name: csv
|
133
|
+
version: '3.3'
|
134
|
+
source:
|
135
|
+
type: git
|
136
|
+
name: ruby/gem_rbs_collection
|
137
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
138
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
139
|
+
repo_dir: gems
|
140
|
+
- name: date
|
141
|
+
version: '0'
|
142
|
+
source:
|
143
|
+
type: stdlib
|
144
|
+
- name: delegate
|
145
|
+
version: '0'
|
146
|
+
source:
|
147
|
+
type: stdlib
|
148
|
+
- name: diff-lcs
|
149
|
+
version: '1.5'
|
150
|
+
source:
|
151
|
+
type: git
|
152
|
+
name: ruby/gem_rbs_collection
|
153
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
154
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
155
|
+
repo_dir: gems
|
156
|
+
- name: digest
|
157
|
+
version: '0'
|
158
|
+
source:
|
159
|
+
type: stdlib
|
160
|
+
- name: erb
|
161
|
+
version: '0'
|
162
|
+
source:
|
163
|
+
type: stdlib
|
164
|
+
- name: ffi
|
165
|
+
version: 1.17.2
|
166
|
+
source:
|
167
|
+
type: rubygems
|
168
|
+
- name: fileutils
|
169
|
+
version: '0'
|
170
|
+
source:
|
171
|
+
type: stdlib
|
172
|
+
- name: forwardable
|
173
|
+
version: '0'
|
174
|
+
source:
|
175
|
+
type: stdlib
|
176
|
+
- name: globalid
|
177
|
+
version: '1.1'
|
178
|
+
source:
|
179
|
+
type: git
|
180
|
+
name: ruby/gem_rbs_collection
|
181
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
182
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
183
|
+
repo_dir: gems
|
184
|
+
- name: i18n
|
185
|
+
version: '1.10'
|
186
|
+
source:
|
187
|
+
type: git
|
188
|
+
name: ruby/gem_rbs_collection
|
189
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
190
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
191
|
+
repo_dir: gems
|
192
|
+
- name: io-console
|
193
|
+
version: '0'
|
194
|
+
source:
|
195
|
+
type: stdlib
|
196
|
+
- name: json
|
197
|
+
version: '0'
|
198
|
+
source:
|
199
|
+
type: stdlib
|
200
|
+
- name: listen
|
201
|
+
version: '3.9'
|
202
|
+
source:
|
203
|
+
type: git
|
204
|
+
name: ruby/gem_rbs_collection
|
205
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
206
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
207
|
+
repo_dir: gems
|
208
|
+
- name: logger
|
209
|
+
version: '0'
|
210
|
+
source:
|
211
|
+
type: stdlib
|
212
|
+
- name: mail
|
213
|
+
version: '2.8'
|
214
|
+
source:
|
215
|
+
type: git
|
216
|
+
name: ruby/gem_rbs_collection
|
217
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
218
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
219
|
+
repo_dir: gems
|
220
|
+
- name: marcel
|
221
|
+
version: '1.0'
|
222
|
+
source:
|
223
|
+
type: git
|
224
|
+
name: ruby/gem_rbs_collection
|
225
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
226
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
227
|
+
repo_dir: gems
|
228
|
+
- name: mini_mime
|
229
|
+
version: '0.1'
|
230
|
+
source:
|
231
|
+
type: git
|
232
|
+
name: ruby/gem_rbs_collection
|
233
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
234
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
235
|
+
repo_dir: gems
|
236
|
+
- name: minitest
|
237
|
+
version: '5.25'
|
238
|
+
source:
|
239
|
+
type: git
|
240
|
+
name: ruby/gem_rbs_collection
|
241
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
242
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
243
|
+
repo_dir: gems
|
244
|
+
- name: monitor
|
245
|
+
version: '0'
|
246
|
+
source:
|
247
|
+
type: stdlib
|
248
|
+
- name: mutex_m
|
249
|
+
version: 0.3.0
|
250
|
+
source:
|
251
|
+
type: rubygems
|
252
|
+
- name: net-protocol
|
253
|
+
version: '0'
|
254
|
+
source:
|
255
|
+
type: stdlib
|
256
|
+
- name: net-smtp
|
257
|
+
version: '0.5'
|
258
|
+
source:
|
259
|
+
type: git
|
260
|
+
name: ruby/gem_rbs_collection
|
261
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
262
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
263
|
+
repo_dir: gems
|
264
|
+
- name: nokogiri
|
265
|
+
version: '1.11'
|
266
|
+
source:
|
267
|
+
type: git
|
268
|
+
name: ruby/gem_rbs_collection
|
269
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
270
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
271
|
+
repo_dir: gems
|
272
|
+
- name: openssl
|
273
|
+
version: '0'
|
274
|
+
source:
|
275
|
+
type: stdlib
|
276
|
+
- name: optparse
|
277
|
+
version: '0'
|
278
|
+
source:
|
279
|
+
type: stdlib
|
280
|
+
- name: parallel
|
281
|
+
version: '1.20'
|
282
|
+
source:
|
283
|
+
type: git
|
284
|
+
name: ruby/gem_rbs_collection
|
285
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
286
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
287
|
+
repo_dir: gems
|
288
|
+
- name: parser
|
289
|
+
version: '3.2'
|
290
|
+
source:
|
291
|
+
type: git
|
292
|
+
name: ruby/gem_rbs_collection
|
293
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
294
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
295
|
+
repo_dir: gems
|
296
|
+
- name: pathname
|
297
|
+
version: '0'
|
298
|
+
source:
|
299
|
+
type: stdlib
|
300
|
+
- name: pp
|
301
|
+
version: '0'
|
302
|
+
source:
|
303
|
+
type: stdlib
|
304
|
+
- name: prettyprint
|
305
|
+
version: '0'
|
306
|
+
source:
|
307
|
+
type: stdlib
|
308
|
+
- name: prism
|
309
|
+
version: 1.4.0
|
310
|
+
source:
|
311
|
+
type: rubygems
|
312
|
+
- name: rack
|
313
|
+
version: '2.2'
|
314
|
+
source:
|
315
|
+
type: git
|
316
|
+
name: ruby/gem_rbs_collection
|
317
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
318
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
319
|
+
repo_dir: gems
|
320
|
+
- name: rails-dom-testing
|
321
|
+
version: '2.0'
|
322
|
+
source:
|
323
|
+
type: git
|
324
|
+
name: ruby/gem_rbs_collection
|
325
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
326
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
327
|
+
repo_dir: gems
|
328
|
+
- name: rails-html-sanitizer
|
329
|
+
version: '1.6'
|
330
|
+
source:
|
331
|
+
type: git
|
332
|
+
name: ruby/gem_rbs_collection
|
333
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
334
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
335
|
+
repo_dir: gems
|
336
|
+
- name: railties
|
337
|
+
version: '6.0'
|
338
|
+
source:
|
339
|
+
type: git
|
340
|
+
name: ruby/gem_rbs_collection
|
341
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
342
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
343
|
+
repo_dir: gems
|
344
|
+
- name: rainbow
|
345
|
+
version: '3.0'
|
346
|
+
source:
|
347
|
+
type: git
|
348
|
+
name: ruby/gem_rbs_collection
|
349
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
350
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
351
|
+
repo_dir: gems
|
352
|
+
- name: rake
|
353
|
+
version: '13.0'
|
354
|
+
source:
|
355
|
+
type: git
|
356
|
+
name: ruby/gem_rbs_collection
|
357
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
358
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
359
|
+
repo_dir: gems
|
360
|
+
- name: rbs
|
361
|
+
version: 3.9.4
|
362
|
+
source:
|
363
|
+
type: rubygems
|
364
|
+
- name: rdoc
|
365
|
+
version: '0'
|
366
|
+
source:
|
367
|
+
type: stdlib
|
368
|
+
- name: regexp_parser
|
369
|
+
version: '2.8'
|
370
|
+
source:
|
371
|
+
type: git
|
372
|
+
name: ruby/gem_rbs_collection
|
373
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
374
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
375
|
+
repo_dir: gems
|
376
|
+
- name: repl_type_completor
|
377
|
+
version: 0.1.11
|
378
|
+
source:
|
379
|
+
type: rubygems
|
380
|
+
- name: rubocop
|
381
|
+
version: '1.57'
|
382
|
+
source:
|
383
|
+
type: git
|
384
|
+
name: ruby/gem_rbs_collection
|
385
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
386
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
387
|
+
repo_dir: gems
|
388
|
+
- name: rubocop-ast
|
389
|
+
version: '1.30'
|
390
|
+
source:
|
391
|
+
type: git
|
392
|
+
name: ruby/gem_rbs_collection
|
393
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
394
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
395
|
+
repo_dir: gems
|
396
|
+
- name: securerandom
|
397
|
+
version: '0'
|
398
|
+
source:
|
399
|
+
type: stdlib
|
400
|
+
- name: singleton
|
401
|
+
version: '0'
|
402
|
+
source:
|
403
|
+
type: stdlib
|
404
|
+
- name: socket
|
405
|
+
version: '0'
|
406
|
+
source:
|
407
|
+
type: stdlib
|
408
|
+
- name: stringio
|
409
|
+
version: '0'
|
410
|
+
source:
|
411
|
+
type: stdlib
|
412
|
+
- name: strscan
|
413
|
+
version: '0'
|
414
|
+
source:
|
415
|
+
type: stdlib
|
416
|
+
- name: tempfile
|
417
|
+
version: '0'
|
418
|
+
source:
|
419
|
+
type: stdlib
|
420
|
+
- name: thor
|
421
|
+
version: '1.2'
|
422
|
+
source:
|
423
|
+
type: git
|
424
|
+
name: ruby/gem_rbs_collection
|
425
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
426
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
427
|
+
repo_dir: gems
|
428
|
+
- name: time
|
429
|
+
version: '0'
|
430
|
+
source:
|
431
|
+
type: stdlib
|
432
|
+
- name: timeout
|
433
|
+
version: '0'
|
434
|
+
source:
|
435
|
+
type: stdlib
|
436
|
+
- name: tsort
|
437
|
+
version: '0'
|
438
|
+
source:
|
439
|
+
type: stdlib
|
440
|
+
- name: tzinfo
|
441
|
+
version: '2.0'
|
442
|
+
source:
|
443
|
+
type: git
|
444
|
+
name: ruby/gem_rbs_collection
|
445
|
+
revision: a9830177c3fdbebb92f6db6a166ae3e368818162
|
446
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
447
|
+
repo_dir: gems
|
448
|
+
- name: uri
|
449
|
+
version: '0'
|
450
|
+
source:
|
451
|
+
type: stdlib
|
452
|
+
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# Download sources
|
2
|
+
sources:
|
3
|
+
- type: git
|
4
|
+
name: ruby/gem_rbs_collection
|
5
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
6
|
+
revision: main
|
7
|
+
repo_dir: gems
|
8
|
+
|
9
|
+
# You can specify local directories as sources also.
|
10
|
+
# - type: local
|
11
|
+
# path: path/to/your/local/repository
|
12
|
+
|
13
|
+
# A directory to install the downloaded RBSs
|
14
|
+
path: .gem_rbs_collection
|
15
|
+
|
16
|
+
# gems:
|
17
|
+
# # If you want to avoid installing rbs files for gems, you can specify them here.
|
18
|
+
# - name: GEM_NAME
|
19
|
+
# ignore: true
|