Module: Themes

Defined in:
lib/themes.rb,
lib/themes/paths.rb,
lib/themes/engine.rb,
lib/themes/helpers.rb,
lib/themes/version.rb,
lib/themes/middleware.rb,
lib/themes/base_loader.rb,
lib/themes/environments.rb,
lib/themes/default_loader.rb

Defined Under Namespace

Modules: Environments, Helpers, Paths Classes: BaseLoader, DefaultLoader, Engine, Middleware, NewGenerator

Constant Summary collapse

VERSION =
'0.1'.freeze
@@loader =
Zeitwerk::Loader.for_gem
@@themes_list =
{}
@@loaders =
{}
@@name =
nil
@@default =
nil
@@email =
nil
@@model =
nil
@@config =
nil
@@original_mailer_path =
nil
@@original_controller_path =
nil

Class Method Summary collapse

Class Method Details

.as(theme_name) ⇒ Object



45
46
47
48
49
# File 'lib/themes.rb', line 45

def self.as(theme_name)
  "#{theme_name}_loader".classify.constantize.call
  yield
  # .tap { Themes::DefaultLoader.load }
end

.collectionObject



35
36
37
# File 'lib/themes.rb', line 35

def self.collection
  model_class&.all
end

.model_classObject



39
40
41
42
43
# File 'lib/themes.rb', line 39

def self.model_class
  return unless model

  model.to_s.classify.safe_constantize
end