Class: RESTFramework::Config
- Inherits:
-
Object
- Object
- RESTFramework::Config
- Defined in:
- lib/rest_framework.rb
Overview
Global configuration should be kept minimal, as controller-level configurations allows multiple APIs to be defined to behave differently.
Constant Summary collapse
- DEFAULT_LABEL_FIELDS =
%w(name label login title email username url).freeze
- DEFAULT_SEARCH_COLUMNS =
DEFAULT_LABEL_FIELDS + %w(description note).freeze
- DEFAULT_EXCLUDE_BODY_FIELDS =
%w[ created_at created_by created_by_id updated_at updated_by updated_by_id _method utf8 authenticity_token ].freeze
Instance Attribute Summary collapse
-
#disable_auto_finalize ⇒ Object
Do not run ‘rrf_finalize` on controllers automatically using a `TracePoint` hook.
-
#disable_rescue_from ⇒ Object
Disable ‘rescue_from` on the controller mixins.
-
#exclude_body_fields ⇒ Object
The default list of fields to exclude from the body of the request.
-
#freeze_config ⇒ Object
Freeze configuration attributes during finalization to prevent accidental mutation.
-
#label_fields ⇒ Object
The default label fields to use when generating labels for ‘has_many` associations.
-
#large_reverse_association_tables ⇒ Object
Specify reverse association tables that are typically very large, and therefore should not be added to fields by default.
-
#search_columns ⇒ Object
The default search columns to use when generating search filters.
-
#show_backtrace ⇒ Object
Whether the backtrace should be shown in rescued errors.
-
#use_vendored_assets ⇒ Object
Option to use vendored assets (requires sprockets or propshaft) rather than linking to external assets (the default).
Instance Method Summary collapse
-
#initialize ⇒ Config
constructor
A new instance of Config.
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
175 176 177 178 179 180 |
# File 'lib/rest_framework.rb', line 175 def initialize self.show_backtrace = Rails.env.development? self.label_fields = DEFAULT_LABEL_FIELDS self.search_columns = DEFAULT_SEARCH_COLUMNS self.exclude_body_fields = DEFAULT_EXCLUDE_BODY_FIELDS end |
Instance Attribute Details
#disable_auto_finalize ⇒ Object
Do not run ‘rrf_finalize` on controllers automatically using a `TracePoint` hook. This is a performance option and must be global because we have to determine this before any controller-specific configuration is set. If this is set to `true`, then you must manually call `rrf_finalize` after any configuration on each controller that needs to participate in:
- Model delegation, for the helper methods to be defined dynamically.
- Websockets, for `::Channel` class to be defined dynamically.
- Controller configuration freezing.
147 148 149 |
# File 'lib/rest_framework.rb', line 147 def disable_auto_finalize @disable_auto_finalize end |
#disable_rescue_from ⇒ Object
Disable ‘rescue_from` on the controller mixins.
160 161 162 |
# File 'lib/rest_framework.rb', line 160 def disable_rescue_from @disable_rescue_from end |
#exclude_body_fields ⇒ Object
The default list of fields to exclude from the body of the request.
169 170 171 |
# File 'lib/rest_framework.rb', line 169 def exclude_body_fields @exclude_body_fields end |
#freeze_config ⇒ Object
Freeze configuration attributes during finalization to prevent accidental mutation.
150 151 152 |
# File 'lib/rest_framework.rb', line 150 def freeze_config @freeze_config end |
#label_fields ⇒ Object
The default label fields to use when generating labels for ‘has_many` associations.
163 164 165 |
# File 'lib/rest_framework.rb', line 163 def label_fields @label_fields end |
#large_reverse_association_tables ⇒ Object
Specify reverse association tables that are typically very large, and therefore should not be added to fields by default.
154 155 156 |
# File 'lib/rest_framework.rb', line 154 def large_reverse_association_tables @large_reverse_association_tables end |
#search_columns ⇒ Object
The default search columns to use when generating search filters.
166 167 168 |
# File 'lib/rest_framework.rb', line 166 def search_columns @search_columns end |
#show_backtrace ⇒ Object
Whether the backtrace should be shown in rescued errors.
157 158 159 |
# File 'lib/rest_framework.rb', line 157 def show_backtrace @show_backtrace end |
#use_vendored_assets ⇒ Object
Option to use vendored assets (requires sprockets or propshaft) rather than linking to external assets (the default).
173 174 175 |
# File 'lib/rest_framework.rb', line 173 def use_vendored_assets @use_vendored_assets end |