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,
lib/railspress/cms_helper.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/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.4.4"

Class Method Summary collapse

Class Method Details

.admin_auth_concernObject



296
297
298
# File 'lib/railspress.rb', line 296

def admin_auth_concern
  configuration.admin_auth_concern
end

.api_enabled?Boolean

Returns:

  • (Boolean)


237
238
239
# File 'lib/railspress.rb', line 237

def api_enabled?
  configuration.api_enabled
end

.author_classObject



241
242
243
# File 'lib/railspress.rb', line 241

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.



263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
# File 'lib/railspress.rb', line 263

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_methodObject



256
257
258
# File 'lib/railspress.rb', line 256

def author_display_method
  configuration.author_display_method
end

.authors_enabled?Boolean

Convenience accessors

Returns:

  • (Boolean)


217
218
219
# File 'lib/railspress.rb', line 217

def authors_enabled?
  configuration.authors_enabled
end

.available_authorsObject



245
246
247
248
249
250
251
252
253
254
# File 'lib/railspress.rb', line 245

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_pathObject



326
327
328
# File 'lib/railspress.rb', line 326

def blog_path
  configuration.blog_path
end

.cms_enabled?Boolean

Returns:

  • (Boolean)


229
230
231
# File 'lib/railspress.rb', line 229

def cms_enabled?
  configuration.cms_enabled
end

.configurationObject



203
204
205
# File 'lib/railspress.rb', line 203

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



207
208
209
210
# File 'lib/railspress.rb', line 207

def configure
  yield(configuration)
  configuration.validate!
end

.current_api_actor_methodObject



288
289
290
# File 'lib/railspress.rb', line 288

def current_api_actor_method
  configuration.current_api_actor_method
end

.current_api_actor_procObject



292
293
294
# File 'lib/railspress.rb', line 292

def current_api_actor_proc
  configuration.current_api_actor_proc
end

.current_author_methodObject



280
281
282
# File 'lib/railspress.rb', line 280

def current_author_method
  configuration.current_author_method
end

.current_author_procObject



284
285
286
# File 'lib/railspress.rb', line 284

def current_author_proc
  configuration.current_author_proc
end

.default_index_columnsObject



330
331
332
# File 'lib/railspress.rb', line 330

def default_index_columns
  configuration.default_index_columns
end

.deprecatorObject



199
200
201
# File 'lib/railspress.rb', line 199

def deprecator
  @deprecator ||= ActiveSupport::Deprecation.new("2.0", "RailsPress")
end

.entity_for(route_key) ⇒ Object



347
348
349
# File 'lib/railspress.rb', line 347

def entity_for(route_key)
  configuration.entity_for(route_key)
end

.entity_registered?(route_key) ⇒ Boolean

Returns:

  • (Boolean)


351
352
353
# File 'lib/railspress.rb', line 351

def entity_registered?(route_key)
  configuration.entity_registered?(route_key)
end

.focal_points_enabled?Boolean

Returns:

  • (Boolean)


225
226
227
# File 'lib/railspress.rb', line 225

def focal_points_enabled?
  configuration.focal_points_enabled
end

.image_contextsObject



233
234
235
# File 'lib/railspress.rb', line 233

def image_contexts
  configuration.image_contexts
end

.inline_editing_checkObject



338
339
340
# File 'lib/railspress.rb', line 338

def inline_editing_check
  configuration.inline_editing_check
end

.post_image_variantsObject



334
335
336
# File 'lib/railspress.rb', line 334

def post_image_variants
  configuration.post_image_variants
end

.post_images_enabled?Boolean

Returns:

  • (Boolean)


221
222
223
# File 'lib/railspress.rb', line 221

def post_images_enabled?
  configuration.post_images_enabled
end

.public_base_urlObject



318
319
320
# File 'lib/railspress.rb', line 318

def public_base_url
  configuration.public_base_url
end

.registered_entitiesObject

Entity registry convenience accessors



343
344
345
# File 'lib/railspress.rb', line 343

def registered_entities
  configuration.registered_entities
end

.reset_configuration!Object



212
213
214
# File 'lib/railspress.rb', line 212

def reset_configuration!
  @configuration = Configuration.new
end

.resolved_admin_auth_concernObject



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
# File 'lib/railspress.rb', line 300

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_minuteObject



322
323
324
# File 'lib/railspress.rb', line 322

def words_per_minute
  configuration.words_per_minute
end