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.0"

Class Method Summary collapse

Class Method Details

.api_enabled?Boolean

Returns:

  • (Boolean)


227
228
229
# File 'lib/railspress.rb', line 227

def api_enabled?
  configuration.api_enabled
end

.author_classObject



231
232
233
# File 'lib/railspress.rb', line 231

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.



253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
# File 'lib/railspress.rb', line 253

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



246
247
248
# File 'lib/railspress.rb', line 246

def author_display_method
  configuration.author_display_method
end

.authors_enabled?Boolean

Convenience accessors

Returns:

  • (Boolean)


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

def authors_enabled?
  configuration.authors_enabled
end

.available_authorsObject



235
236
237
238
239
240
241
242
243
244
# File 'lib/railspress.rb', line 235

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



294
295
296
# File 'lib/railspress.rb', line 294

def blog_path
  configuration.blog_path
end

.cms_enabled?Boolean

Returns:

  • (Boolean)


219
220
221
# File 'lib/railspress.rb', line 219

def cms_enabled?
  configuration.cms_enabled
end

.configurationObject



193
194
195
# File 'lib/railspress.rb', line 193

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



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

def configure
  yield(configuration)
  configuration.validate!
end

.current_api_actor_methodObject



278
279
280
# File 'lib/railspress.rb', line 278

def current_api_actor_method
  configuration.current_api_actor_method
end

.current_api_actor_procObject



282
283
284
# File 'lib/railspress.rb', line 282

def current_api_actor_proc
  configuration.current_api_actor_proc
end

.current_author_methodObject



270
271
272
# File 'lib/railspress.rb', line 270

def current_author_method
  configuration.current_author_method
end

.current_author_procObject



274
275
276
# File 'lib/railspress.rb', line 274

def current_author_proc
  configuration.current_author_proc
end

.default_index_columnsObject



298
299
300
# File 'lib/railspress.rb', line 298

def default_index_columns
  configuration.default_index_columns
end

.entity_for(route_key) ⇒ Object



315
316
317
# File 'lib/railspress.rb', line 315

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

.entity_registered?(route_key) ⇒ Boolean

Returns:

  • (Boolean)


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

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

.focal_points_enabled?Boolean

Returns:

  • (Boolean)


215
216
217
# File 'lib/railspress.rb', line 215

def focal_points_enabled?
  configuration.focal_points_enabled
end

.image_contextsObject



223
224
225
# File 'lib/railspress.rb', line 223

def image_contexts
  configuration.image_contexts
end

.inline_editing_checkObject



306
307
308
# File 'lib/railspress.rb', line 306

def inline_editing_check
  configuration.inline_editing_check
end

.post_image_variantsObject



302
303
304
# File 'lib/railspress.rb', line 302

def post_image_variants
  configuration.post_image_variants
end

.post_images_enabled?Boolean

Returns:

  • (Boolean)


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

def post_images_enabled?
  configuration.post_images_enabled
end

.public_base_urlObject



286
287
288
# File 'lib/railspress.rb', line 286

def public_base_url
  configuration.public_base_url
end

.registered_entitiesObject

Entity registry convenience accessors



311
312
313
# File 'lib/railspress.rb', line 311

def registered_entities
  configuration.registered_entities
end

.reset_configuration!Object



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

def reset_configuration!
  @configuration = Configuration.new
end

.words_per_minuteObject



290
291
292
# File 'lib/railspress.rb', line 290

def words_per_minute
  configuration.words_per_minute
end