Module: Railspress
- Defined in:
- lib/railspress.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.2"
Class Method Summary
collapse
Class Method Details
.admin_auth_concern ⇒ Object
288
289
290
|
# File 'lib/railspress.rb', line 288
def admin_auth_concern
configuration.admin_auth_concern
end
|
.api_enabled? ⇒ Boolean
229
230
231
|
# File 'lib/railspress.rb', line 229
def api_enabled?
configuration.api_enabled
end
|
.author_class ⇒ Object
233
234
235
|
# File 'lib/railspress.rb', line 233
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.
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
# File 'lib/railspress.rb', line 255
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
248
249
250
|
# File 'lib/railspress.rb', line 248
def author_display_method
configuration.author_display_method
end
|
.authors_enabled? ⇒ Boolean
209
210
211
|
# File 'lib/railspress.rb', line 209
def authors_enabled?
configuration.authors_enabled
end
|
.available_authors ⇒ Object
237
238
239
240
241
242
243
244
245
246
|
# File 'lib/railspress.rb', line 237
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
318
319
320
|
# File 'lib/railspress.rb', line 318
def blog_path
configuration.blog_path
end
|
.cms_enabled? ⇒ Boolean
221
222
223
|
# File 'lib/railspress.rb', line 221
def cms_enabled?
configuration.cms_enabled
end
|
.configuration ⇒ Object
195
196
197
|
# File 'lib/railspress.rb', line 195
def configuration
@configuration ||= Configuration.new
end
|
199
200
201
202
|
# File 'lib/railspress.rb', line 199
def configure
yield(configuration)
configuration.validate!
end
|
.current_api_actor_method ⇒ Object
280
281
282
|
# File 'lib/railspress.rb', line 280
def current_api_actor_method
configuration.current_api_actor_method
end
|
.current_api_actor_proc ⇒ Object
284
285
286
|
# File 'lib/railspress.rb', line 284
def current_api_actor_proc
configuration.current_api_actor_proc
end
|
.current_author_method ⇒ Object
272
273
274
|
# File 'lib/railspress.rb', line 272
def current_author_method
configuration.current_author_method
end
|
.current_author_proc ⇒ Object
276
277
278
|
# File 'lib/railspress.rb', line 276
def current_author_proc
configuration.current_author_proc
end
|
.default_index_columns ⇒ Object
322
323
324
|
# File 'lib/railspress.rb', line 322
def default_index_columns
configuration.default_index_columns
end
|
.entity_for(route_key) ⇒ Object
339
340
341
|
# File 'lib/railspress.rb', line 339
def entity_for(route_key)
configuration.entity_for(route_key)
end
|
.entity_registered?(route_key) ⇒ Boolean
343
344
345
|
# File 'lib/railspress.rb', line 343
def entity_registered?(route_key)
configuration.entity_registered?(route_key)
end
|
.focal_points_enabled? ⇒ Boolean
217
218
219
|
# File 'lib/railspress.rb', line 217
def focal_points_enabled?
configuration.focal_points_enabled
end
|
.image_contexts ⇒ Object
225
226
227
|
# File 'lib/railspress.rb', line 225
def image_contexts
configuration.image_contexts
end
|
.inline_editing_check ⇒ Object
330
331
332
|
# File 'lib/railspress.rb', line 330
def inline_editing_check
configuration.inline_editing_check
end
|
.post_image_variants ⇒ Object
326
327
328
|
# File 'lib/railspress.rb', line 326
def post_image_variants
configuration.post_image_variants
end
|
.post_images_enabled? ⇒ Boolean
213
214
215
|
# File 'lib/railspress.rb', line 213
def post_images_enabled?
configuration.post_images_enabled
end
|
.public_base_url ⇒ Object
310
311
312
|
# File 'lib/railspress.rb', line 310
def public_base_url
configuration.public_base_url
end
|
.registered_entities ⇒ Object
Entity registry convenience accessors
335
336
337
|
# File 'lib/railspress.rb', line 335
def registered_entities
configuration.registered_entities
end
|
.reset_configuration! ⇒ Object
204
205
206
|
# File 'lib/railspress.rb', line 204
def reset_configuration!
@configuration = Configuration.new
end
|
.resolved_admin_auth_concern ⇒ Object
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
|
# File 'lib/railspress.rb', line 292
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
314
315
316
|
# File 'lib/railspress.rb', line 314
def words_per_minute
configuration.words_per_minute
end
|