Module: Railspress
- Defined in:
- lib/railspress.rb,
lib/railspress/cms.rb,
lib/railspress/engine.rb,
lib/railspress/entity.rb,
lib/railspress/version.rb,
app/models/railspress/tag.rb,
app/models/railspress/post.rb,
app/models/railspress/export.rb,
app/models/railspress/import.rb,
app/models/railspress/api_key.rb,
app/models/railspress/tagging.rb,
app/models/railspress/category.rb,
app/helpers/railspress/cms_helper.rb,
app/models/railspress/focal_point.rb,
app/helpers/railspress/admin_helper.rb,
app/jobs/railspress/application_job.rb,
app/models/railspress/content_group.rb,
app/jobs/railspress/export_posts_job.rb,
app/jobs/railspress/import_posts_job.rb,
app/models/railspress/content_element.rb,
app/models/concerns/railspress/taggable.rb,
app/models/railspress/application_record.rb,
app/helpers/railspress/application_helper.rb,
app/mailers/railspress/application_mailer.rb,
app/models/railspress/agent_bootstrap_key.rb,
app/models/railspress/post_export_processor.rb,
app/models/railspress/post_import_processor.rb,
app/models/concerns/railspress/soft_deletable.rb,
app/models/railspress/content_element_version.rb,
app/services/railspress/content_export_service.rb,
app/services/railspress/content_import_service.rb,
app/controllers/railspress/admin/base_controller.rb,
app/controllers/railspress/admin/tags_controller.rb,
app/controllers/railspress/admin/posts_controller.rb,
app/controllers/railspress/api/v1/base_controller.rb,
app/controllers/railspress/api/v1/tags_controller.rb,
app/controllers/railspress/application_controller.rb,
lib/generators/railspress/entity/entity_generator.rb,
app/controllers/railspress/api/v1/posts_controller.rb,
app/controllers/railspress/api/v1/prime_controller.rb,
app/controllers/railspress/admin/exports_controller.rb,
app/controllers/railspress/admin/imports_controller.rb,
lib/generators/railspress/install/install_generator.rb,
app/controllers/railspress/admin/api_keys_controller.rb,
app/controllers/railspress/admin/entities_controller.rb,
app/controllers/railspress/admin/dashboard_controller.rb,
app/controllers/railspress/admin/categories_controller.rb,
app/controllers/railspress/admin/prototypes_controller.rb,
app/controllers/railspress/api/v1/categories_controller.rb,
app/controllers/railspress/admin/focal_points_controller.rb,
app/controllers/railspress/admin/cms_transfers_controller.rb,
app/controllers/railspress/api/v1/post_imports_controller.rb,
app/controllers/railspress/admin/content_groups_controller.rb,
app/controllers/railspress/admin/content_elements_controller.rb,
app/controllers/railspress/api/v1/concerns/post_serialization.rb,
app/controllers/railspress/api/v1/post_header_images_controller.rb,
app/controllers/railspress/admin/agent_bootstrap_keys_controller.rb,
app/controllers/railspress/api/v1/agent_key_exchanges_controller.rb,
app/controllers/railspress/admin/content_element_versions_controller.rb,
app/controllers/railspress/api/v1/post_header_image_contexts_controller.rb,
app/controllers/railspress/api/v1/post_header_image_focal_points_controller.rb
Defined Under Namespace
Modules: Admin, AdminHelper, Api, ApplicationHelper, CMS, CmsHelper, Entity, Generators, HasFocalPoint, SoftDeletable, Taggable
Classes: AgentBootstrapKey, ApiKey, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, Category, Configuration, ConfigurationError, ContentElement, ContentElementVersion, ContentExportService, ContentGroup, ContentImportService, Engine, EntityConfig, Export, ExportPostsJob, FocalPoint, Import, ImportPostsJob, Post, PostExportProcessor, PostImportProcessor, Tag, Tagging
Constant Summary
collapse
- VERSION =
"1.3.3"
Class Method Summary
collapse
Class Method Details
.admin_auth_concern ⇒ Object
290
291
292
|
# File 'lib/railspress.rb', line 290
def admin_auth_concern
configuration.admin_auth_concern
end
|
.api_enabled? ⇒ Boolean
231
232
233
|
# File 'lib/railspress.rb', line 231
def api_enabled?
configuration.api_enabled
end
|
.author_class ⇒ Object
235
236
237
|
# File 'lib/railspress.rb', line 235
def author_class
configuration.author_class_name.constantize
end
|
.author_display_for(author) ⇒ Object
Returns a safe display string for an author record. Falls back through common attribute names when the configured display method is missing on the model.
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
|
# File 'lib/railspress.rb', line 257
def author_display_for(author)
return nil unless author
configured_method = author_display_method
if configured_method.present? && author.respond_to?(configured_method)
value = author.public_send(configured_method)
return value if value.present?
end
fallback_method = [ :name, :full_name, :display_name, :email, :email_address ]
.find { |method| author.respond_to?(method) && author.public_send(method).present? }
return author.public_send(fallback_method) if fallback_method
"Author ##{author.id || "unknown"}"
end
|
.author_display_method ⇒ Object
250
251
252
|
# File 'lib/railspress.rb', line 250
def author_display_method
configuration.author_display_method
end
|
.authors_enabled? ⇒ Boolean
211
212
213
|
# File 'lib/railspress.rb', line 211
def authors_enabled?
configuration.authors_enabled
end
|
.available_authors ⇒ Object
239
240
241
242
243
244
245
246
247
248
|
# File 'lib/railspress.rb', line 239
def available_authors
scope = configuration.author_scope
klass = author_class
case scope
when Symbol then klass.public_send(scope)
when Proc then scope.call(klass)
else klass.all
end
end
|
.blog_path ⇒ Object
320
321
322
|
# File 'lib/railspress.rb', line 320
def blog_path
configuration.blog_path
end
|
.cms_enabled? ⇒ Boolean
223
224
225
|
# File 'lib/railspress.rb', line 223
def cms_enabled?
configuration.cms_enabled
end
|
.configuration ⇒ Object
197
198
199
|
# File 'lib/railspress.rb', line 197
def configuration
@configuration ||= Configuration.new
end
|
201
202
203
204
|
# File 'lib/railspress.rb', line 201
def configure
yield(configuration)
configuration.validate!
end
|
.current_api_actor_method ⇒ Object
282
283
284
|
# File 'lib/railspress.rb', line 282
def current_api_actor_method
configuration.current_api_actor_method
end
|
.current_api_actor_proc ⇒ Object
286
287
288
|
# File 'lib/railspress.rb', line 286
def current_api_actor_proc
configuration.current_api_actor_proc
end
|
.current_author_method ⇒ Object
274
275
276
|
# File 'lib/railspress.rb', line 274
def current_author_method
configuration.current_author_method
end
|
.current_author_proc ⇒ Object
278
279
280
|
# File 'lib/railspress.rb', line 278
def current_author_proc
configuration.current_author_proc
end
|
.default_index_columns ⇒ Object
324
325
326
|
# File 'lib/railspress.rb', line 324
def default_index_columns
configuration.default_index_columns
end
|
.entity_for(route_key) ⇒ Object
341
342
343
|
# File 'lib/railspress.rb', line 341
def entity_for(route_key)
configuration.entity_for(route_key)
end
|
.entity_registered?(route_key) ⇒ Boolean
345
346
347
|
# File 'lib/railspress.rb', line 345
def entity_registered?(route_key)
configuration.entity_registered?(route_key)
end
|
.focal_points_enabled? ⇒ Boolean
219
220
221
|
# File 'lib/railspress.rb', line 219
def focal_points_enabled?
configuration.focal_points_enabled
end
|
.image_contexts ⇒ Object
227
228
229
|
# File 'lib/railspress.rb', line 227
def image_contexts
configuration.image_contexts
end
|
.inline_editing_check ⇒ Object
332
333
334
|
# File 'lib/railspress.rb', line 332
def inline_editing_check
configuration.inline_editing_check
end
|
.post_image_variants ⇒ Object
328
329
330
|
# File 'lib/railspress.rb', line 328
def post_image_variants
configuration.post_image_variants
end
|
.post_images_enabled? ⇒ Boolean
215
216
217
|
# File 'lib/railspress.rb', line 215
def post_images_enabled?
configuration.post_images_enabled
end
|
.public_base_url ⇒ Object
312
313
314
|
# File 'lib/railspress.rb', line 312
def public_base_url
configuration.public_base_url
end
|
.registered_entities ⇒ Object
Entity registry convenience accessors
337
338
339
|
# File 'lib/railspress.rb', line 337
def registered_entities
configuration.registered_entities
end
|
.reset_configuration! ⇒ Object
206
207
208
|
# File 'lib/railspress.rb', line 206
def reset_configuration!
@configuration = Configuration.new
end
|
.resolved_admin_auth_concern ⇒ Object
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
|
# File 'lib/railspress.rb', line 294
def resolved_admin_auth_concern
concern = admin_auth_concern
return nil if concern.blank?
module_value = case concern
when Module then concern
when String, Symbol
concern_name = concern.to_s
concern_name.safe_constantize || concern_name.camelize.safe_constantize
end
unless module_value.is_a?(Module)
raise ConfigurationError, "admin_auth_concern must resolve to a Module. Got: #{concern.inspect}"
end
module_value
end
|
.words_per_minute ⇒ Object
316
317
318
|
# File 'lib/railspress.rb', line 316
def words_per_minute
configuration.words_per_minute
end
|