simple_command_dispatcher 1.2.6 → 1.2.7
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/.github/dependabot.yml +16 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +19 -18
- data/lib/simple_command_dispatcher/configure.rb +1 -1
- data/lib/simple_command_dispatcher/klass_transform.rb +36 -19
- data/lib/simple_command_dispatcher/version.rb +1 -1
- data/lib/simple_command_dispatcher.rb +39 -24
- data/simple_command_dispatcher.gemspec +0 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8394ce5aa8ac9f9270c37dd685efec66eaa80df6e72f390f8a1d7a72a4aa60c9
|
4
|
+
data.tar.gz: 31796a2d10978ea831e1ae19aff033030577b3916c2e51e90b300604ec5822b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d0617d0fbf74267879a77ec8665c24d9b8ec200fa67677ce8c9901c9a50e5363adac6bf047b2d486e5f8824ec052be4997c023c81591937f76a2f334bca3a8d
|
7
|
+
data.tar.gz: e0e204e5ab1f7a7c0e35a2af6e86475dc41894f8135458762de4282bef8bf1fded4c5168e47b5aa80eaf1969c650213dd8c9d5ac978b07a14552a768e4849dc5
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
3
|
+
# Please see the documentation for all configuration options:
|
4
|
+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
5
|
+
|
6
|
+
version: 2
|
7
|
+
updates:
|
8
|
+
- package-ecosystem: "bundler"
|
9
|
+
directory: "/" # Location of package manifests
|
10
|
+
schedule:
|
11
|
+
interval: "weekly"
|
12
|
+
groups:
|
13
|
+
production-dependencies:
|
14
|
+
dependency-type: "production"
|
15
|
+
development-dependencies:
|
16
|
+
dependency-type: "development"
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
simple_command_dispatcher (1.2.
|
4
|
+
simple_command_dispatcher (1.2.7)
|
5
5
|
activesupport (~> 5.0, >= 5.0.0.1)
|
6
6
|
simple_command (~> 0.2.0)
|
7
7
|
|
@@ -19,14 +19,15 @@ GEM
|
|
19
19
|
colorize (0.8.1)
|
20
20
|
concurrent-ruby (1.2.2)
|
21
21
|
diff-lcs (1.5.0)
|
22
|
-
i18n (1.
|
22
|
+
i18n (1.14.1)
|
23
23
|
concurrent-ruby (~> 1.0)
|
24
24
|
json (2.6.3)
|
25
25
|
method_source (1.0.0)
|
26
|
-
minitest (5.
|
27
|
-
parallel (1.
|
28
|
-
parser (3.2.2.
|
26
|
+
minitest (5.19.0)
|
27
|
+
parallel (1.23.0)
|
28
|
+
parser (3.2.2.3)
|
29
29
|
ast (~> 2.4.1)
|
30
|
+
racc
|
30
31
|
pry (0.13.1)
|
31
32
|
coderay (~> 1.1)
|
32
33
|
method_source (~> 1.0)
|
@@ -35,26 +36,27 @@ GEM
|
|
35
36
|
pry (~> 0.13.0)
|
36
37
|
psych (5.1.0)
|
37
38
|
stringio
|
39
|
+
racc (1.7.1)
|
38
40
|
rainbow (3.1.1)
|
39
41
|
rake (13.0.6)
|
40
42
|
rdoc (6.5.0)
|
41
43
|
psych (>= 4.0.0)
|
42
|
-
regexp_parser (2.
|
43
|
-
rexml (3.2.
|
44
|
+
regexp_parser (2.8.1)
|
45
|
+
rexml (3.2.6)
|
44
46
|
rspec (3.12.0)
|
45
47
|
rspec-core (~> 3.12.0)
|
46
48
|
rspec-expectations (~> 3.12.0)
|
47
49
|
rspec-mocks (~> 3.12.0)
|
48
|
-
rspec-core (3.12.
|
50
|
+
rspec-core (3.12.2)
|
49
51
|
rspec-support (~> 3.12.0)
|
50
|
-
rspec-expectations (3.12.
|
52
|
+
rspec-expectations (3.12.3)
|
51
53
|
diff-lcs (>= 1.2.0, < 2.0)
|
52
54
|
rspec-support (~> 3.12.0)
|
53
|
-
rspec-mocks (3.12.
|
55
|
+
rspec-mocks (3.12.6)
|
54
56
|
diff-lcs (>= 1.2.0, < 2.0)
|
55
57
|
rspec-support (~> 3.12.0)
|
56
|
-
rspec-support (3.12.
|
57
|
-
rubocop (1.
|
58
|
+
rspec-support (3.12.1)
|
59
|
+
rubocop (1.50.2)
|
58
60
|
json (~> 2.3)
|
59
61
|
parallel (~> 1.10)
|
60
62
|
parser (>= 3.2.0.0)
|
@@ -64,24 +66,23 @@ GEM
|
|
64
66
|
rubocop-ast (>= 1.28.0, < 2.0)
|
65
67
|
ruby-progressbar (~> 1.7)
|
66
68
|
unicode-display_width (>= 2.4.0, < 3.0)
|
67
|
-
rubocop-ast (1.
|
69
|
+
rubocop-ast (1.29.0)
|
68
70
|
parser (>= 3.2.1.0)
|
69
|
-
rubocop-performance (1.
|
71
|
+
rubocop-performance (1.17.1)
|
70
72
|
rubocop (>= 1.7.0, < 2.0)
|
71
73
|
rubocop-ast (>= 0.4.0)
|
72
74
|
ruby-progressbar (1.13.0)
|
73
75
|
simple_command (0.2.1)
|
74
|
-
stringio (3.0.
|
76
|
+
stringio (3.0.6)
|
75
77
|
thread_safe (0.3.6)
|
76
78
|
tzinfo (1.2.11)
|
77
79
|
thread_safe (~> 0.1)
|
78
80
|
unicode-display_width (2.4.2)
|
79
|
-
|
80
|
-
yard (0.9.28)
|
81
|
-
webrick (~> 1.7.0)
|
81
|
+
yard (0.9.34)
|
82
82
|
|
83
83
|
PLATFORMS
|
84
84
|
x86_64-darwin-19
|
85
|
+
x86_64-linux
|
85
86
|
|
86
87
|
DEPENDENCIES
|
87
88
|
bundler (~> 2.2, >= 2.2.17)
|
@@ -10,24 +10,32 @@ module SimpleCommand
|
|
10
10
|
# @param klass [Symbol or String] the class name.
|
11
11
|
# @param klass_modules [Hash, Array or String] the modules klass belongs to.
|
12
12
|
# @param options [Hash] the options that determine how klass_modules is transformed.
|
13
|
-
# @option options [Boolean] :camelize (false) determines whether or not both klass and klass_modules
|
14
|
-
#
|
15
|
-
# @option options [Boolean] :
|
16
|
-
#
|
17
|
-
# @option options [Boolean] :
|
18
|
-
#
|
13
|
+
# @option options [Boolean] :camelize (false) determines whether or not both klass and klass_modules
|
14
|
+
# should be camelized.
|
15
|
+
# @option options [Boolean] :titleize (false) determines whether or not both klass and klass_modules
|
16
|
+
# should be titleized.
|
17
|
+
# @option options [Boolean] :class_titleize (false) determines whether or not klass names should be
|
18
|
+
# titleized.
|
19
|
+
# @option options [Boolean] :class_camelized (false) determines whether or not klass names should be
|
20
|
+
# camelized.
|
21
|
+
# @option options [Boolean] :module_titleize (false) determines whether or not klass_modules names
|
22
|
+
# should be titleized.
|
23
|
+
# @option options [Boolean] :module_camelized (false) determines whether or not klass_modules names
|
24
|
+
# should be camelized.
|
19
25
|
#
|
20
26
|
# @return [Class] the class constant. Can be used to call ClassConstant.constantize.
|
21
27
|
#
|
22
28
|
# @raise [NameError] if the constantized class string cannot be constantized; that is, if it is not
|
23
|
-
#
|
29
|
+
# a valid class constant.
|
24
30
|
#
|
25
31
|
# @example
|
26
32
|
#
|
27
33
|
# to_constantized_class("Authenticate", "Api") # => Api::Authenticate
|
28
34
|
# to_constantized_class(:Authenticate, [:Api, :AppName, :V1]) # => Api::AppName::V1::Authenticate
|
29
|
-
# to_constantized_class(:Authenticate, { :api :Api, app_name: :AppName, api_version: :V2 })
|
30
|
-
#
|
35
|
+
# to_constantized_class(:Authenticate, { :api :Api, app_name: :AppName, api_version: :V2 })
|
36
|
+
# # => Api::AppName::V2::Authenticate
|
37
|
+
# to_constantized_class("authenticate", { :api :api, app_name: :app_name, api_version: :v1 },
|
38
|
+
# { class_titleize: true, module_titleize: true }) # => Api::AppName::V1::Authenticate
|
31
39
|
#
|
32
40
|
def to_constantized_class(klass, klass_modules = [], options = {})
|
33
41
|
constantized_class_string = to_constantized_class_string(klass, klass_modules, options)
|
@@ -44,8 +52,10 @@ module SimpleCommand
|
|
44
52
|
# @param [Symbol or String] klass the class name.
|
45
53
|
# @param [Hash, Array or String] klass_modules the modules klass belongs to.
|
46
54
|
# @param [Hash] options the options that determine how klass_modules is transformed.
|
47
|
-
# @option options [Boolean] :class_titleize (false) Determines whether or not klass should be
|
48
|
-
#
|
55
|
+
# @option options [Boolean] :class_titleize (false) Determines whether or not klass should be
|
56
|
+
# titleized.
|
57
|
+
# @option options [Boolean] :module_titleize (false) Determines whether or not klass_modules
|
58
|
+
# should be titleized.
|
49
59
|
#
|
50
60
|
# @return [String] the fully qualified class, which includes module(s) and class name.
|
51
61
|
#
|
@@ -53,8 +63,10 @@ module SimpleCommand
|
|
53
63
|
#
|
54
64
|
# to_constantized_class_string("Authenticate", "Api") # => "Api::Authenticate"
|
55
65
|
# to_constantized_class_string(:Authenticate, [:Api, :AppName, :V1]) # => "Api::AppName::V1::Authenticate"
|
56
|
-
# to_constantized_class_string(:Authenticate, { :api :Api, app_name: :AppName, api_version: :V2 })
|
57
|
-
#
|
66
|
+
# to_constantized_class_string(:Authenticate, { :api :Api, app_name: :AppName, api_version: :V2 })
|
67
|
+
# # => "Api::AppName::V2::Authenticate"
|
68
|
+
# to_constantized_class_string("authenticate", { :api :api, app_name: :app_name, api_version: :v1 },
|
69
|
+
# { class_titleize: true, module_titleize: true }) # => "Api::AppName::V1::Authenticate"
|
58
70
|
#
|
59
71
|
def to_constantized_class_string(klass, klass_modules = [], options = {})
|
60
72
|
options = ensure_options(options)
|
@@ -69,7 +81,8 @@ module SimpleCommand
|
|
69
81
|
# @param [Hash] options the options that determine how klass_modules is transformed.
|
70
82
|
# @option options [Boolean] :module_titleize (false) Determines whether or not klass_modules should be titleized.
|
71
83
|
#
|
72
|
-
# @return [String] a string of modules that can be subsequently prepended to a class, to create a
|
84
|
+
# @return [String] a string of modules that can be subsequently prepended to a class, to create a
|
85
|
+
# constantized class.
|
73
86
|
#
|
74
87
|
# @raise [ArgumentError] if the klass_modules is not of type String, Hash or Array.
|
75
88
|
#
|
@@ -78,7 +91,8 @@ module SimpleCommand
|
|
78
91
|
# to_modules_string("Api") # => "Api::"
|
79
92
|
# to_modules_string([:Api, :AppName, :V1]) # => "Api::AppName::V1::"
|
80
93
|
# to_modules_string({ :api :Api, app_name: :AppName, api_version: :V1 }) # => "Api::AppName::V1::"
|
81
|
-
# to_modules_string({ :api :api, app_name: :app_name, api_version: :v1 }, { module_titleize: true })
|
94
|
+
# to_modules_string({ :api :api, app_name: :app_name, api_version: :v1 }, { module_titleize: true })
|
95
|
+
# # => "Api::AppName::V1::"
|
82
96
|
#
|
83
97
|
def to_modules_string(klass_modules = [], options = {})
|
84
98
|
klass_modules = validate_klass_modules(klass_modules)
|
@@ -143,7 +157,7 @@ module SimpleCommand
|
|
143
157
|
def camelize(token)
|
144
158
|
raise ArgumentError, 'Token is not a String' unless token.instance_of? String
|
145
159
|
|
146
|
-
token
|
160
|
+
token.titlecase.camelize.sub(/^:*/, '').trim_all unless token.empty?
|
147
161
|
end
|
148
162
|
|
149
163
|
private
|
@@ -153,8 +167,10 @@ module SimpleCommand
|
|
153
167
|
# Ensures options are initialized and valid before accessing them.
|
154
168
|
#
|
155
169
|
# @param [Hash] options the options that determine how processing and transformations will be handled.
|
156
|
-
# @option options [Boolean] :camelize (false) determines whether or not both class and module names
|
157
|
-
#
|
170
|
+
# @option options [Boolean] :camelize (false) determines whether or not both class and module names
|
171
|
+
# should be camelized.
|
172
|
+
# @option options [Boolean] :titleize (false) determines whether or not both class and module names
|
173
|
+
# should be titleized.
|
158
174
|
# @option options [Boolean] :class_titleize (false) determines whether or not class names should be titleized.
|
159
175
|
# @option options [Boolean] :module_titleize (false) determines whether or not module names should be titleized.
|
160
176
|
# @option options [Boolean] :class_camelized (false) determines whether or not class names should be camelized.
|
@@ -192,7 +208,8 @@ module SimpleCommand
|
|
192
208
|
def validate_klass(klass, _options)
|
193
209
|
unless klass.is_a?(Symbol) || klass.is_a?(String)
|
194
210
|
raise ArgumentError,
|
195
|
-
'Class is not a String or Symbol. Class must equal the class name of the
|
211
|
+
'Class is not a String or Symbol. Class must equal the class name of the ' \
|
212
|
+
'SimpleCommand or Command to call in the form of a String or Symbol.'
|
196
213
|
end
|
197
214
|
|
198
215
|
klass = klass.to_s.strip
|
@@ -23,39 +23,49 @@ module SimpleCommand
|
|
23
23
|
class << self
|
24
24
|
include SimpleCommand::KlassTransform
|
25
25
|
|
26
|
-
# Calls a *SimpleCommand* or *Command* given the command name, the modules the command belongs to
|
26
|
+
# Calls a *SimpleCommand* or *Command* given the command name, the modules the command belongs to
|
27
|
+
# and the parameters to pass to the command.
|
27
28
|
#
|
28
29
|
# @param command [Symbol, String] the name of the SimpleCommand or Command to call.
|
29
30
|
#
|
30
|
-
# @param command_modules [Hash, Array] the ruby modules that qualify the SimpleCommand to call. When
|
31
|
-
# keys serve as documentation only. For example, ['Api', 'AppName', 'V1']
|
32
|
-
# will both produce 'Api::AppName::V1',
|
31
|
+
# @param command_modules [Hash, Array] the ruby modules that qualify the SimpleCommand to call. When
|
32
|
+
# passing a Hash, the Hash keys serve as documentation only. For example, ['Api', 'AppName', 'V1']
|
33
|
+
# and { :api :Api, app_name: :AppName, api_version: :V1 } will both produce 'Api::AppName::V1',
|
34
|
+
# this string will be prepended to the command to form the SimpleCommand to call
|
33
35
|
# (e.g. 'Api::AppName::V1::MySimpleCommand' = Api::AppName::V1::MySimpleCommand.call(*command_parameters)).
|
34
36
|
#
|
35
37
|
# @param [Hash] options the options that determine how command and command_module are transformed.
|
36
|
-
# @option options [Boolean] :camelize (false) determines whether or not both class and module names should be
|
37
|
-
#
|
38
|
+
# @option options [Boolean] :camelize (false) determines whether or not both class and module names should be
|
39
|
+
# camelized.
|
40
|
+
# @option options [Boolean] :titleize (false) determines whether or not both class and module names should be
|
41
|
+
# titleized.
|
38
42
|
# @option options [Boolean] :class_titleize (false) determines whether or not class names should be titleized.
|
39
43
|
# @option options [Boolean] :class_camelized (false) determines whether or not class names should be camelized.
|
40
44
|
# @option options [Boolean] :module_titleize (false) determines whether or not module names should be titleized.
|
41
45
|
# @option options [Boolean] :module_camelized (false) determines whether or not module names should be camelized.
|
42
46
|
#
|
43
|
-
# @param command_parameters [Array<Symbol>] the parameters to pass to the call method of the SimpleCommand
|
44
|
-
#
|
47
|
+
# @param command_parameters [Array<Symbol>] the parameters to pass to the call method of the SimpleCommand.
|
48
|
+
# This parameter is simplypassed through to the call method of the SimpleCommand/Command.
|
45
49
|
#
|
46
|
-
# @return [SimpleCommand, Object] the SimpleCommand or Object returned as a result of calling the
|
50
|
+
# @return [SimpleCommand, Object] the SimpleCommand or Object returned as a result of calling the
|
51
|
+
# SimpleCommand#call method or the Command#call method respectfully.
|
47
52
|
#
|
48
53
|
# @example
|
49
54
|
#
|
50
|
-
# # Below call equates to the following:
|
51
|
-
#
|
52
|
-
#
|
55
|
+
# # Below call equates to the following:
|
56
|
+
# # Api::Carz4Rent::V1::Authenticate.call({ email: 'sam@gmail.com', password: 'AskM3!' })
|
57
|
+
# SimpleCommand::Dispatcher.call(:Authenticate,
|
58
|
+
# { api: :Api, app_name: :Carz4Rent, api_version: :V1 },
|
59
|
+
# { email: 'sam@gmail.com', password: 'AskM3!' } ) # => SimpleCommand result
|
53
60
|
#
|
54
61
|
# # Below equates to the following: Api::Carz4Rent::V2::Authenticate.call('sam@gmail.com', 'AskM3!')
|
55
|
-
# SimpleCommand::Dispatcher.call(:Authenticate,
|
62
|
+
# SimpleCommand::Dispatcher.call(:Authenticate,
|
63
|
+
# ['Api', 'Carz4Rent', 'V2'], 'sam@gmail.com', 'AskM3!') # => SimpleCommand result
|
56
64
|
#
|
57
|
-
# # Below equates to the following:
|
58
|
-
#
|
65
|
+
# # Below equates to the following:
|
66
|
+
# # Api::Auth::JazzMeUp::V1::Authenticate.call('jazz_me@gmail.com', 'JazzM3!')
|
67
|
+
# SimpleCommand::Dispatcher.call(:Authenticate, ['Api::Auth::JazzMeUp', :V1],
|
68
|
+
# 'jazz_me@gmail.com', 'JazzM3!') # => SimpleCommand result
|
59
69
|
#
|
60
70
|
def call(command = '', command_modules = {}, options = {}, *command_parameters)
|
61
71
|
# Create a constantized class from our command and command_modules...
|
@@ -63,12 +73,13 @@ module SimpleCommand
|
|
63
73
|
|
64
74
|
# If we're NOT allowing custom commands, make sure we're dealing with a a command class
|
65
75
|
# that prepends the SimpleCommand module.
|
66
|
-
if !SimpleCommand::Dispatcher.configuration.allow_custom_commands && !
|
76
|
+
if !SimpleCommand::Dispatcher.configuration.allow_custom_commands && !simple_command?(command_class_constant)
|
67
77
|
raise ArgumentError,
|
68
|
-
"Class \"#{command_class_constant}\"
|
78
|
+
"Class \"#{command_class_constant}\" " \
|
79
|
+
'must prepend module SimpleCommand if Configuration#allow_custom_commands is true.'
|
69
80
|
end
|
70
81
|
|
71
|
-
if
|
82
|
+
if valid_command?(command_class_constant)
|
72
83
|
# We know we have a valid SimpleCommand; all we need to do is call #call,
|
73
84
|
# pass the command_parameter variable arguments to the call, and return the results.
|
74
85
|
run_command(command_class_constant, command_parameters)
|
@@ -83,23 +94,27 @@ module SimpleCommand
|
|
83
94
|
# class method named ::call defined. Commands that do not have a public class method
|
84
95
|
# named ::call, are considered invalid.
|
85
96
|
#
|
86
|
-
# @param klass_constant [String] a class constant that will be validated to see whether or not the
|
97
|
+
# @param klass_constant [String] a class constant that will be validated to see whether or not the
|
98
|
+
# class is a valid command.
|
87
99
|
#
|
88
|
-
# @return [Boolean] true if klass_constant has a public class method named ::call defined,
|
100
|
+
# @return [Boolean] true if klass_constant has a public class method named ::call defined,
|
101
|
+
# false otherwise.
|
89
102
|
#
|
90
103
|
# @!visibility public
|
91
|
-
def
|
104
|
+
def valid_command?(klass_constant)
|
92
105
|
klass_constant.eigenclass.public_method_defined?(:call)
|
93
106
|
end
|
94
107
|
|
95
|
-
# Returns true or false depending on whether or not the class constant prepends module
|
108
|
+
# Returns true or false depending on whether or not the class constant prepends module
|
109
|
+
# SimpleCommand::ClassMethods.
|
96
110
|
#
|
97
|
-
# @param klass_constant [String] a class constant that will be validated to see whether
|
111
|
+
# @param klass_constant [String] a class constant that will be validated to see whether
|
112
|
+
# or not the class prepends module SimpleCommand::ClassMethods.
|
98
113
|
#
|
99
114
|
# @return [Boolean] true if klass_constant prepends Module SimpleCommand::ClassMethods, false otherwise.
|
100
115
|
#
|
101
116
|
# @!visibility public
|
102
|
-
def
|
117
|
+
def simple_command?(klass_constant)
|
103
118
|
klass_constant.eigenclass.included_modules.include? SimpleCommand::ClassMethods
|
104
119
|
end
|
105
120
|
|
@@ -37,7 +37,6 @@ Gem::Specification.new do |spec|
|
|
37
37
|
|
38
38
|
spec.required_ruby_version = '>= 2.2.2'
|
39
39
|
spec.add_runtime_dependency 'activesupport', '~> 5.0', '>= 5.0.0.1'
|
40
|
-
#spec.add_runtime_dependency 'simple_command', '>= 0.0.9'
|
41
40
|
spec.add_runtime_dependency 'simple_command', '~> 0.2.0'
|
42
41
|
|
43
42
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_command_dispatcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gene M. Angelo, Jr.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -200,6 +200,7 @@ executables: []
|
|
200
200
|
extensions: []
|
201
201
|
extra_rdoc_files: []
|
202
202
|
files:
|
203
|
+
- ".github/dependabot.yml"
|
203
204
|
- ".gitignore"
|
204
205
|
- ".reek.yml"
|
205
206
|
- ".rspec"
|