steel_wheel 0.6.1 → 0.7.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/.github/workflows/main.yml +39 -0
- data/.qlty/.gitignore +7 -0
- data/.qlty/qlty.toml +82 -0
- data/.ruby-version +1 -1
- data/Gemfile +2 -1
- data/Gemfile.lock +147 -109
- data/README.md +627 -224
- data/lib/generators/steel_wheel/application_handler/templates/handler_template.rb +4 -0
- data/lib/generators/steel_wheel/form/USAGE +8 -0
- data/lib/generators/steel_wheel/form/form_generator.rb +16 -0
- data/lib/generators/steel_wheel/form/templates/form_template.rb +3 -0
- data/lib/generators/steel_wheel/handler/templates/handler_template.rb +5 -16
- data/lib/generators/steel_wheel/scaffold_controller/USAGE +14 -0
- data/lib/generators/steel_wheel/scaffold_controller/scaffold_controller_generator.rb +100 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/controller.rb +65 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/create.rb +23 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/form.tt +12 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/index.rb +17 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/model_form.rb +32 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/search_form.rb +31 -0
- data/lib/generators/steel_wheel/scaffold_controller/templates/update.rb +31 -0
- data/lib/steel_wheel/callbacks.rb +34 -0
- data/lib/steel_wheel/components.rb +54 -0
- data/lib/steel_wheel/filters.rb +36 -0
- data/lib/steel_wheel/handler.rb +67 -68
- data/lib/steel_wheel/params.rb +5 -1
- data/lib/steel_wheel/preconditions.rb +36 -0
- data/lib/steel_wheel/query/dependency_validator.rb +14 -0
- data/lib/steel_wheel/query/exists_validator.rb +15 -0
- data/lib/steel_wheel/query/verify_validator.rb +30 -0
- data/lib/steel_wheel/railtie.rb +50 -0
- data/lib/steel_wheel/shortcuts.rb +28 -0
- data/lib/steel_wheel/version.rb +1 -1
- data/lib/steel_wheel.rb +35 -6
- data/steel_wheel.gemspec +4 -4
- metadata +38 -30
- data/.github/workflows/ruby.yml +0 -43
- data/lib/generators/steel_wheel/command/USAGE +0 -8
- data/lib/generators/steel_wheel/command/command_generator.rb +0 -16
- data/lib/generators/steel_wheel/command/templates/command_template.rb +0 -5
- data/lib/generators/steel_wheel/params/USAGE +0 -8
- data/lib/generators/steel_wheel/params/params_generator.rb +0 -16
- data/lib/generators/steel_wheel/params/templates/params_template.rb +0 -5
- data/lib/generators/steel_wheel/query/USAGE +0 -8
- data/lib/generators/steel_wheel/query/query_generator.rb +0 -16
- data/lib/generators/steel_wheel/query/templates/query_template.rb +0 -5
- data/lib/steel_wheel/command.rb +0 -24
- data/lib/steel_wheel/query.rb +0 -20
- data/lib/steel_wheel/response.rb +0 -34
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module SteelWheel
|
|
4
|
-
class ParamsGenerator < Rails::Generators::NamedBase
|
|
5
|
-
source_root File.expand_path('templates', __dir__)
|
|
6
|
-
|
|
7
|
-
def copy_files
|
|
8
|
-
if behavior == :revoke
|
|
9
|
-
template 'params_template.rb', "app/handlers/#{file_path}_handler/params.rb"
|
|
10
|
-
elsif behavior == :invoke
|
|
11
|
-
empty_directory Pathname.new('app/params').join(*class_path)
|
|
12
|
-
template 'params_template.rb', "app/handlers/#{file_path}_handler/params.rb"
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module SteelWheel
|
|
4
|
-
class QueryGenerator < Rails::Generators::NamedBase
|
|
5
|
-
source_root File.expand_path('templates', __dir__)
|
|
6
|
-
|
|
7
|
-
def copy_files
|
|
8
|
-
if behavior == :revoke
|
|
9
|
-
template 'query_template.rb', "app/handlers/#{file_path}_handler/query.rb"
|
|
10
|
-
elsif behavior == :invoke
|
|
11
|
-
empty_directory Pathname.new('app/queries').join(*class_path)
|
|
12
|
-
template 'query_template.rb', "app/handlers/#{file_path}_handler/query.rb"
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
data/lib/steel_wheel/command.rb
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module SteelWheel
|
|
4
|
-
# Base class for commands
|
|
5
|
-
class Command
|
|
6
|
-
include Memery
|
|
7
|
-
include ActiveModel::Validations
|
|
8
|
-
|
|
9
|
-
def self.name
|
|
10
|
-
'SteelWheel::Command'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def http_status
|
|
14
|
-
return :ok if errors.empty?
|
|
15
|
-
return errors.keys.first unless defined?(ActiveModel::Error)
|
|
16
|
-
|
|
17
|
-
errors.map(&:type).first
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def call(*)
|
|
21
|
-
# NOOP
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
data/lib/steel_wheel/query.rb
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module SteelWheel
|
|
4
|
-
# Base class for queries
|
|
5
|
-
class Query
|
|
6
|
-
include Memery
|
|
7
|
-
include ActiveModel::Validations
|
|
8
|
-
|
|
9
|
-
def self.name
|
|
10
|
-
'SteelWheel::Query'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def http_status
|
|
14
|
-
return :ok if errors.empty?
|
|
15
|
-
return errors.keys.first unless defined?(ActiveModel::Error)
|
|
16
|
-
|
|
17
|
-
errors.map(&:type).first
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
data/lib/steel_wheel/response.rb
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module SteelWheel
|
|
4
|
-
# Base class for responses
|
|
5
|
-
class Response
|
|
6
|
-
attr_accessor :status
|
|
7
|
-
|
|
8
|
-
include ActiveModel::Validations
|
|
9
|
-
|
|
10
|
-
unless defined?(ActiveModel::Error)
|
|
11
|
-
def self.generic_validation_keys(*keys)
|
|
12
|
-
include SteelWheel::SkipActiveModelErrorsKeys[*keys]
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
generic_validation_keys(:not_found, :forbidden, :unprocessable_entity, :bad_request, :unauthorized)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def self.name
|
|
19
|
-
'SteelWheel::Response'
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def initialize
|
|
23
|
-
@status = :ok
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def success?
|
|
27
|
-
errors.empty?
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def valid?
|
|
31
|
-
success?
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|