rider-kick 0.0.7 → 0.0.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cad018e49d8527dc8362c19bedafb5d4403afdf5e9b3b26b7da6cd70eba50da
4
- data.tar.gz: 608e4a29c825e66967aa6dbde8f8a8f7295c85cad5d635225fd414e8a78d25ad
3
+ metadata.gz: ec75fc6ba1f45d9d70021b69e3bdda3a01585978679adcd3ee32ab9d50b0a372
4
+ data.tar.gz: 67886957fb7270e9529ac94ec311459aabaaf6a434a732751d5980a10bad65c9
5
5
  SHA512:
6
- metadata.gz: 93e08abca79bcd918fee994f97a5e918ef61b8f2041dad5f937a2df16ff9f2df07c1249a95175646d42e8bf65d8b02928255f8b753a53c1a4b7dd8fa302b8e4e
7
- data.tar.gz: bd7677729b7651e10225b4993104aa23abe2b4b193fb674266334e15dc58d76da637b59ae2bb752b2869cd6da7426c5f75509d659e86f9b68c00b2f2be6949d4
6
+ metadata.gz: 2fc7a917595c6fa982088940eb56c7843773474a8ce91d95c87485e78943b3e8615c7353125b2fb456f113e76292202839f0737910146482d5c1eec604d4508f
7
+ data.tar.gz: 944b95a7baf3d9339520025ba8529b2de11f63be7b48f8429f2fb3e5435f14628054d64c07a2330f859adbd6216dbbdcc3e46e2ede1a67e80dcd344890785a38
@@ -67,6 +67,7 @@ module RiderKick
67
67
  copy_initializer('version')
68
68
  copy_initializer('zeitwerk')
69
69
  copy_initializer('pagy')
70
+ copy_initializer('route_extensions')
70
71
  end
71
72
 
72
73
  def setup_dotenv
@@ -16,6 +16,7 @@ module RiderKick
16
16
  generate_files('destroy')
17
17
  generate_files('fetch', '_by_id')
18
18
 
19
+ set_uploader_in_model
19
20
  copy_builder_and_entity_files
20
21
  end
21
22
 
@@ -53,8 +54,9 @@ module RiderKick
53
54
  @variable_subject = model_name.split('::').last.underscore.downcase
54
55
  @scope_path = resource_name.pluralize.underscore.downcase
55
56
  @scope_class = @scope_path.camelize
57
+ @scope_subject = @scope_path.singularize
56
58
  @model_class = model_name.camelize.constantize
57
- @subject_class = resource_name.camelize
59
+ @subject_class = @variable_subject.camelize
58
60
  @fields = contract_fields
59
61
  @route_scope_path = arg_scope['scope'].to_s.downcase rescue ''
60
62
  @route_scope_class = @route_scope_path.camelize rescue ''
@@ -88,6 +90,16 @@ module RiderKick
88
90
  str.singularize == str
89
91
  end
90
92
 
93
+ def set_uploader_in_model
94
+ @uploaders.each do |uploader|
95
+ method_strategy = 'has_many_attached'
96
+ if is_singular?(uploader)
97
+ method_strategy = 'has_one_attached'
98
+ end
99
+ inject_into_file File.join("#{root_path_app}/models", @model_class.to_s.split('::').first.downcase.to_s, "#{@variable_subject}.rb"), " #{method_strategy} :#{uploader}, dependent: :purge\n", after: "class #{@model_class} < ApplicationRecord\n"
100
+ end
101
+ end
102
+
91
103
  def generate_files(action, suffix = '')
92
104
  use_case_filename = build_usecase_filename(action, suffix)
93
105
  repository_filename = build_repository_filename(action, suffix)
@@ -1,14 +1,6 @@
1
- Rails.application.config.generators do |gs|
2
- gs.orm :active_record, primary_key_type: :uuid
3
- gs.fixture_replacement :factory_bot
4
- gs.assets = false
5
- gs.helper = false
6
- gs.test_framework :rspec,
7
- fixtures: false,
8
- view_specs: false,
9
- model_specs: false,
10
- helper_specs: false,
11
- routing_specs: false,
12
- request_specs: false,
13
- controller_specs: false
1
+ Rails.application.config.generators do |generate|
2
+ generate.orm :active_record, primary_key_type: :uuid
3
+ generate.assets = false
4
+ generate.helper = false
5
+ generate.test_framework nil
14
6
  end
@@ -0,0 +1,21 @@
1
+ module ActionDispatch
2
+ module Routing
3
+ class Mapper
4
+ def create
5
+ [:new, :create]
6
+ end
7
+
8
+ def read
9
+ [:index, :show]
10
+ end
11
+
12
+ def update
13
+ [:edit, :update]
14
+ end
15
+
16
+ def destroy
17
+ [:destroy]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Core::Repositories::<%= @scope_class %>::<%= @repository_class %> < Core::Repositories::AbstractRepository
4
- def initialize(params: {})
4
+ def initialize(params:)
5
5
  @params = prepare! params, sanitize: true
6
6
  end
7
7
 
@@ -2,7 +2,8 @@
2
2
 
3
3
  class Core::Repositories::<%= @scope_class %>::<%= @repository_class %> < Core::Repositories::AbstractRepository
4
4
  def initialize(params:)
5
- @id = params.id
5
+ @params = params
6
+ @id = @params.id
6
7
  end
7
8
 
8
9
  def call(builder: true)
@@ -15,7 +15,7 @@ class Core::Repositories::<%= @scope_class %>::<%= @repository_class%> < Core::R
15
15
  if @search.present?
16
16
  resources = resources.where('<%= @search_able.map { |field| "LOWER(#{field}) LIKE :search" }.join(' OR ')%>', search: "%#{search}%")
17
17
  end
18
- return Success Success Hashie::Mash.new(response: [], meta: {}) unless resources.present?
18
+ return Success Hashie::Mash.new(response: [], meta: {}) unless resources.present?
19
19
  pagy, results = pagy(resources.order(created_at: :desc), limit: @per_page, page: @page)
20
20
  response = results.map { |result| Core::Builders::<%= @subject_class %>.new(result).build }
21
21
  Success Hashie::Mash.new(response: response, meta: paginate!(pagy))
@@ -3,14 +3,12 @@
3
3
  class Core::UseCases::<%= [@route_scope_class, @scope_class, @use_case_class].reject { |c| c.empty? }.join("::") %> < RiderKick::UseCases::AbstractUseCase
4
4
  contract do
5
5
  params(Core::UseCases::Contract::Default.new.call) do
6
- <% @contract_create.each do |field| -%>
7
- <%if field.include?(":#{@resource_owner_id}") -%>
8
6
  <% if @resource_owner_id.present? -%>
9
7
  required(:<%= @resource_owner_id %>).filled(:string)
10
- <% else -%>
11
- <%= field %>
12
- <% end -%>
13
8
  <% end -%>
9
+ <% @contract_create.each do |field| -%>
10
+ <% next if field.include?("#{@resource_owner_id}") && @resource_owner_id.present? -%>
11
+ <%= field %>
14
12
  <% end -%>
15
13
  end
16
14
  end
@@ -3,12 +3,14 @@
3
3
  class Core::UseCases::<%= [@route_scope_class, @scope_class, @use_case_class].reject { |c| c.empty? }.join("::") %> < RiderKick::UseCases::AbstractUseCase
4
4
  contract do
5
5
  params(Core::UseCases::Contract::Default.new.call) do
6
+ required(:id).filled(:string)
6
7
  <% @contract_destroy.each do |field| -%>
7
- <% next if field.eql?(":#{@resource_owner_id}") -%>
8
+ <% next if field.include?("#{@resource_owner_id}") && @resource_owner_id.present? -%>
9
+ <% next if field.include?("(:id)") -%>
8
10
  <%= field %>
11
+ <% end -%>
9
12
  <% if @resource_owner_id.present? -%>
10
13
  required(:<%= @resource_owner_id %>).filled(:string)
11
- <% end -%>
12
14
  <% end -%>
13
15
  end
14
16
  end
@@ -3,12 +3,14 @@
3
3
  class Core::UseCases::<%= [@route_scope_class, @scope_class, @use_case_class].reject { |c| c.empty? }.join("::") %> < RiderKick::UseCases::AbstractUseCase
4
4
  contract do
5
5
  params(Core::UseCases::Contract::Default.new.call) do
6
+ required(:id).filled(:string)
6
7
  <% @contract_fetch_by_id.each do |field| -%>
7
- <% next if field.eql?(":#{@resource_owner_id}") -%>
8
+ <% next if field.include?("#{@resource_owner_id}") && @resource_owner_id.present? -%>
9
+ <% next if field.include?("(:id)") -%>
8
10
  <%= field %>
11
+ <% end -%>
9
12
  <% if @resource_owner_id.present? -%>
10
13
  required(:<%= @resource_owner_id %>).filled(:string)
11
- <% end -%>
12
14
  <% end -%>
13
15
  end
14
16
  end
@@ -3,12 +3,12 @@
3
3
  class Core::UseCases::<%= [@route_scope_class, @scope_class, @use_case_class].reject { |c| c.empty? }.join("::") %> < RiderKick::UseCases::AbstractUseCase
4
4
  contract do
5
5
  params(Core::UseCases::Contract::Default.new.call, Core::UseCases::Contract::Pagination.new.call) do
6
- <% if @resource_owner_id.present? -%>
7
- required(:<%= @resource_owner_id %>).filled(:string)
8
- <% end -%>
9
6
  <% @contract_list.each do |field| -%>
10
- <% next if field.include?(":#{@resource_owner_id}") %>
7
+ <% next if field.include?("#{@resource_owner_id}") && @resource_owner_id.present? -%>
11
8
  <%= field %>
9
+ <% end -%>
10
+ <% if @resource_owner_id.present? -%>
11
+ required(:<%= @resource_owner_id %>).filled(:string)
12
12
  <% end -%>
13
13
  end
14
14
  end
@@ -3,14 +3,14 @@
3
3
  class Core::UseCases::<%= [@route_scope_class, @scope_class, @use_case_class].reject { |c| c.empty? }.join("::") %> < RiderKick::UseCases::AbstractUseCase
4
4
  contract do
5
5
  params(Core::UseCases::Contract::Default.new.call) do
6
- <% @contract_update.each do |field| -%>
7
- <%if field.include?(":#{@resource_owner_id}") -%>
6
+ required(:id).filled(:string)
8
7
  <% if @resource_owner_id.present? -%>
9
8
  required(:<%= @resource_owner_id %>).filled(:string)
10
- <% else -%>
11
- <%= field %>
12
- <% end -%>
13
9
  <% end -%>
10
+ <% @contract_update.each do |field| -%>
11
+ <% next if field.include?("#{@resource_owner_id}") && @resource_owner_id.present? -%>
12
+ <% next if field.include?("(:id)") -%>
13
+ <%= field %>
14
14
  <% end -%>
15
15
  end
16
16
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RiderKick
4
- VERSION = '0.0.7'
4
+ VERSION = '0.0.9'
5
5
  public_constant :VERSION
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rider-kick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kotaro Minami
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-23 00:00:00.000000000 Z
11
+ date: 2024-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-matcher
@@ -162,6 +162,7 @@ files:
162
162
  - lib/generators/rider_kick/templates/config/initializers/generators.rb.tt
163
163
  - lib/generators/rider_kick/templates/config/initializers/hashie.rb.tt
164
164
  - lib/generators/rider_kick/templates/config/initializers/pagy.rb.tt
165
+ - lib/generators/rider_kick/templates/config/initializers/route_extensions.rb.tt
165
166
  - lib/generators/rider_kick/templates/config/initializers/version.rb.tt
166
167
  - lib/generators/rider_kick/templates/config/initializers/zeitwerk.rb.tt
167
168
  - lib/generators/rider_kick/templates/db/migrate/20220613145533_init_database.rb