Module: Kadim
- Defined in:
- lib/kadim.rb,
lib/kadim/engine.rb,
lib/kadim/version.rb,
app/jobs/kadim/application_job.rb,
lib/kadim/template/memory_resolver.rb,
app/helpers/kadim/application_helper.rb,
app/mailers/kadim/application_mailer.rb,
lib/generators/kadim/host/host_generator.rb,
app/controllers/kadim/application_controller.rb,
lib/generators/kadim/scaffold_controller/scaffold_controller_generator.rb
Defined Under Namespace
Modules: ApplicationHelper, Generators
Classes: ApplicationController, ApplicationJob, ApplicationMailer, Engine, HostGenerator, MemoryResolver
Constant Summary
collapse
- VERSION =
"0.4.0"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.app_model_paths ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/kadim.rb', line 38
def self.app_model_paths
return [] unless db_connection?
Dir[Rails.root.join("app", "models", "**", "*.rb")]
.reject { |model_path| model_path.include?("/concerns/") || model_path.include?("application_record") }
.map { |model_path| model_path.remove(%r{.*/app/models/}, ".rb") }
.select { |model_path| model_path.camelize.constantize.try(:table_exists?) }
.sort
end
|
.bootstrap_controllers ⇒ Object
48
49
50
51
52
53
54
|
# File 'lib/kadim.rb', line 48
def self.bootstrap_controllers
return unless db_connection?
cleanup
load_app_kadim_consts
scaffold_controllers
end
|
34
35
36
|
# File 'lib/kadim.rb', line 34
def self.configure
yield self
end
|
.init ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/kadim.rb', line 26
def self.init
@@upload_type ||= if [:amazon, :google, :microsoft].include?(Rails.configuration.active_storage.service)
:direct
else
:local
end
end
|
.scaffold_attributes(model_klass) ⇒ Object
76
77
78
|
# File 'lib/kadim.rb', line 76
def self.scaffold_attributes(model_klass)
database_attributes(model_klass) + attachment_attributes(model_klass)
end
|
.scaffold_controller(args, options, config) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/kadim.rb', line 56
def self.scaffold_controller(args, options, config)
current_namespace = Rails::Generators.namespace
Rails::Generators.namespace = Kadim
require "rails/generators/erb/scaffold/scaffold_generator"
templates_path = if Kadim.layout == :bulma
"generators/kadim/scaffold_controller/templates/bulma"
else
"generators/kadim/scaffold_controller/templates"
end
Erb::Generators::ScaffoldGenerator.source_paths.prepend(File.expand_path(templates_path, __dir__))
generator = Rails::Generators::ScaffoldControllerGenerator.new(args, options, config)
source_path_idx = generator.class.source_paths.index { |source_path| source_path.include?("jbuilder") }
generator.class.source_paths[source_path_idx] = generator.class.source_root if source_path_idx
generator.invoke_all
ensure
Rails::Generators.namespace = current_namespace
end
|
Instance Method Details
#layout ⇒ Symbol?
#layout=(value) ⇒ Object
24
|
# File 'lib/kadim.rb', line 24
mattr_accessor :layout
|
#upload_type ⇒ Symbol
#upload_type=(value) ⇒ Symbol
16
|
# File 'lib/kadim.rb', line 16
mattr_accessor :upload_type
|