Module: CafeCar
- Extended by:
- ProcHelpers
- Includes:
- Resolver
- Defined in:
- lib/cafe_car.rb,
lib/cafe_car/ui.rb,
lib/cafe_car/engine.rb,
lib/cafe_car/fields.rb,
lib/cafe_car/filter.rb,
lib/cafe_car/context.rb,
lib/cafe_car/current.rb,
lib/cafe_car/helpers.rb,
lib/cafe_car/routing.rb,
lib/cafe_car/version.rb,
lib/cafe_car/resolver.rb,
lib/cafe_car/component.rb,
app/ui/cafe_car/ui/card.rb,
app/ui/cafe_car/ui/grid.rb,
app/ui/cafe_car/ui/page.rb,
lib/cafe_car/controller.rb,
lib/cafe_car/field_info.rb,
lib/cafe_car/informable.rb,
lib/cafe_car/model_info.rb,
lib/cafe_car/name_patch.rb,
lib/cafe_car/navigation.rb,
app/ui/cafe_car/ui/field.rb,
app/ui/cafe_car/ui/button.rb,
app/ui/cafe_car/ui/layout.rb,
lib/cafe_car/form_builder.rb,
lib/cafe_car/href_builder.rb,
lib/cafe_car/link_builder.rb,
lib/cafe_car/proc_helpers.rb,
lib/cafe_car/chart_builder.rb,
lib/cafe_car/field_builder.rb,
lib/cafe_car/input_builder.rb,
lib/cafe_car/pluralization.rb,
lib/cafe_car/query_builder.rb,
lib/cafe_car/table_builder.rb,
app/models/cafe_car/session.rb,
lib/cafe_car/filter_builder.rb,
lib/cafe_car/option_helpers.rb,
lib/cafe_car/inputs/base_input.rb,
lib/cafe_car/inputs/date_input.rb,
lib/cafe_car/inputs/file_input.rb,
lib/cafe_car/turbo_tag_builder.rb,
lib/cafe_car/inputs/nested_input.rb,
lib/cafe_car/inputs/number_input.rb,
lib/cafe_car/inputs/select_input.rb,
lib/cafe_car/inputs/string_input.rb,
app/presenters/cafe_car/presenter.rb,
lib/cafe_car/inputs/boolean_input.rb,
lib/cafe_car/application_responder.rb,
lib/cafe_car/inputs/datetime_input.rb,
lib/cafe_car/inputs/password_input.rb,
lib/cafe_car/inputs/rich_text_input.rb,
lib/cafe_car/inputs/text_area_input.rb,
app/policies/cafe_car/session_policy.rb,
lib/cafe_car/inputs/association_input.rb,
app/presenters/cafe_car/code_presenter.rb,
app/presenters/cafe_car/date_presenter.rb,
app/presenters/cafe_car/hash_presenter.rb,
app/presenters/cafe_car/range_presenter.rb,
app/presenters/cafe_car/record_presenter.rb,
app/presenters/cafe_car/string_presenter.rb,
app/presenters/cafe_car/symbol_presenter.rb,
app/presenters/cafe_car/currency_presenter.rb,
app/presenters/cafe_car/date_time_presenter.rb,
app/presenters/cafe_car/nil_class_presenter.rb,
app/controllers/cafe_car/examples_controller.rb,
app/controllers/cafe_car/sessions_controller.rb,
app/presenters/cafe_car/enumerable_presenter.rb,
app/presenters/cafe_car/true_class_presenter.rb,
app/presenters/cafe_car/false_class_presenter.rb,
app/controllers/cafe_car/dashboards_controller.rb,
app/presenters/cafe_car/basic_object_presenter.rb,
app/controllers/cafe_car/application_controller.rb,
app/controllers/concerns/cafe_car/authentication.rb,
app/presenters/cafe_car/active_record/base_presenter.rb,
app/presenters/cafe_car/action_text/rich_text_presenter.rb,
app/presenters/cafe_car/active_record/relation_presenter.rb,
app/presenters/cafe_car/active_storage/attachment_presenter.rb,
app/presenters/cafe_car/active_storage/attached/one_presenter.rb,
app/presenters/cafe_car/date_and_time/compatibility_presenter.rb
Defined Under Namespace
Modules: ActionText, ActiveRecord, ActiveStorage, Authentication, Caching, Controller, DateAndTime, Filter, Generators, Helpers, Informable, Inputs, Model, NamePatch, OptionHelpers, Pluralization, Policy, ProcHelpers, Queryable, Resolver, Routing, Table, TurboTagBuilder, UI, Visitors Classes: AgentsGenerator, ApplicationController, ApplicationPolicy, ApplicationResponder, Attributes, AuthenticationFailed, BasicObjectPresenter, ChartBuilder, CodePresenter, Component, Context, ControllerGenerator, CurrencyPresenter, Current, DashboardsController, DatePresenter, DateTimePresenter, Engine, EnumerablePresenter, ExamplesController, FalseClassPresenter, FieldBuilder, FieldInfo, Fields, FilterBuilder, FormBuilder, HashPresenter, HrefBuilder, InputBuilder, InstallGenerator, LinkBuilder, MissingAttributeError, ModelInfo, Navigation, NilClassPresenter, NotesGenerator, ParamParser, PolicyGenerator, Presenter, QueryBuilder, RangePresenter, RecordPresenter, ResourceGenerator, Session, SessionPolicy, SessionsController, SessionsGenerator, StringPresenter, SymbolPresenter, TableBuilder, TrueClassPresenter
Constant Summary collapse
- THEMES =
Bundled themes selectable via
CafeCar.theme. Each lives atapp/assets/stylesheets/cafe_car/themes/<name>.cssas a set of CSS custom properties layered overthemes/defaults.css, with its own dark-mode block. %i[warm cool cool2].freeze
- VERSION =
"0.3.1"
Class Method Summary collapse
-
.sessions_available? ⇒ Boolean
Whether the opt-in sessions/login infrastructure is available.
- .theme=(name) ⇒ Object
- .use_relative_model_naming? ⇒ Boolean
-
.user_class ⇒ Object
The host's user model, resolved lazily so the constant need not exist at boot.
Methods included from ProcHelpers
Methods included from Resolver
Class Method Details
.sessions_available? ⇒ Boolean
Whether the opt-in sessions/login infrastructure is available. True only when the sessions table exists, so a CRUD-only host (no sessions migration) degrades to 403 Forbidden instead of redirecting to a nonexistent login.
67 68 69 70 71 |
# File 'lib/cafe_car.rb', line 67 def self.sessions_available? CafeCar[:Session].table_exists? rescue StandardError false end |
.theme=(name) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/cafe_car.rb', line 51 def self.theme=(name) name = name&.to_sym unless THEMES.include?(name) raise ArgumentError, "unknown CafeCar theme #{name.inspect} (valid: #{THEMES.map(&:inspect).join(", ")})" end @@theme = name end |
.use_relative_model_naming? ⇒ Boolean
18 |
# File 'lib/cafe_car.rb', line 18 def self.use_relative_model_naming? = true |
.user_class ⇒ Object
The host's user model, resolved lazily so the constant need not exist at boot. Used by CafeCar::Session for authentication.
62 |
# File 'lib/cafe_car.rb', line 62 def self.user_class = user_class_name.to_s.constantize |