Module: Tramway::Admin

Defined in:
lib/tramway/admin.rb,
lib/tramway/admin/engine.rb,
lib/tramway/admin/version.rb,
app/jobs/tramway/admin/application_job.rb,
lib/tramway/admin/record_routes_helper.rb,
app/helpers/tramway/admin/records_helper.rb,
app/helpers/tramway/admin/welcome_helper.rb,
app/helpers/tramway/admin/application_helper.rb,
app/mailers/tramway/admin/application_mailer.rb,
app/helpers/tramway/admin/russian_cases_helper.rb,
app/controllers/tramway/admin/records_controller.rb,
app/controllers/tramway/admin/welcome_controller.rb,
app/controllers/tramway/admin/singletons_controller.rb,
app/controllers/tramway/admin/application_controller.rb

Defined Under Namespace

Modules: AdditionalButtonsBuilder, ApplicationHelper, RecordRoutesHelper, RecordsHelper, RussianCasesHelper, SingletonHelper, WelcomeHelper Classes: ApplicationController, ApplicationJob, ApplicationMailer, Engine, RecordsController, SingletonsController, WelcomeController

Constant Summary collapse

VERSION =
'1.2.2'

Class Method Summary collapse

Class Method Details

.additional_buttons(view: nil, record: nil, project: nil) ⇒ Object



46
47
48
# File 'lib/tramway/admin.rb', line 46

def additional_buttons(view: nil, record: nil, project: nil)
  @additional_buttons&.dig record, view
end

.available_models ⇒ Object



20
21
22
# File 'lib/tramway/admin.rb', line 20

def available_models
  @available_models.values.flatten
end

.available_models_for(project) ⇒ Object



14
15
16
17
18
# File 'lib/tramway/admin.rb', line 14

def available_models_for(project)
  (@available_models[project.to_sym] || []) + "::Tramway::#{project.to_s.camelize}".constantize.dependencies.map do |dependency|
    @available_models[dependency]
  end.flatten.compact
end

.customized_admin_navbar ⇒ Object



50
51
52
# File 'lib/tramway/admin.rb', line 50

def customized_admin_navbar
  @customized_admin_navbar
end

.set_additional_buttons(buttons, project:) ⇒ Object



40
41
42
43
44
# File 'lib/tramway/admin.rb', line 40

def set_additional_buttons(buttons, project:)
  @additional_buttons ||= {}
  @additional_buttons[project] ||= {}
  @additional_buttons[project].merge! buttons
end

.set_available_models(*models, project:) ⇒ Object



8
9
10
11
12
# File 'lib/tramway/admin.rb', line 8

def set_available_models(*models, project:)
  @available_models ||= {}
  @available_models[project] ||= []
  @available_models[project] += models
end

.set_singleton_models(*models, project:) ⇒ Object



24
25
26
27
28
# File 'lib/tramway/admin.rb', line 24

def set_singleton_models(*models, project:)
  @singleton_models ||= {}
  @singleton_models[project] ||= []
  @singleton_models[project] += models
end

.singleton_models ⇒ Object



36
37
38
# File 'lib/tramway/admin.rb', line 36

def singleton_models
  @singleton_models.values.flatten
end

.singleton_models_for(project) ⇒ Object



30
31
32
33
34
# File 'lib/tramway/admin.rb', line 30

def singleton_models_for(project)
  (@singleton_models[project.to_sym] || []) + "::Tramway::#{project.to_s.camelize}".constantize.dependencies.map do |dependency|
    @singleton_models[dependency]
  end.flatten.compact
end