Module: Pressroom
- Defined in:
- lib/pressroom.rb,
lib/pressroom/feed.rb,
lib/pressroom/engine.rb,
lib/pressroom/errors.rb,
lib/pressroom/version.rb,
app/models/pressroom/tag.rb,
app/models/pressroom/post.rb,
lib/pressroom/blocks/schema.rb,
lib/pressroom/configuration.rb,
app/models/pressroom/tagging.rb,
app/models/pressroom/category.rb,
lib/pressroom/blocks/registry.rb,
lib/pressroom/blocks/renderer.rb,
lib/pressroom/built_in_blocks.rb,
lib/pressroom/transliteration.rb,
lib/pressroom/blocks/sanitizer.rb,
lib/pressroom/blocks/definition.rb,
app/jobs/pressroom/application_job.rb,
app/helpers/pressroom/blocks_helper.rb,
lib/pressroom/blocks/text_extractor.rb,
app/models/concerns/pressroom/sluggable.rb,
app/models/pressroom/application_record.rb,
app/helpers/pressroom/application_helper.rb,
app/mailers/pressroom/application_mailer.rb,
app/models/concerns/pressroom/authorable.rb,
app/controllers/pressroom/tags_controller.rb,
app/controllers/pressroom/posts_controller.rb,
app/controllers/pressroom/uploads_controller.rb,
app/controllers/pressroom/categories_controller.rb,
app/controllers/pressroom/application_controller.rb
Defined Under Namespace
Modules: ApplicationHelper, Authorable, Blocks, BlocksHelper, BuiltInBlocks, Sluggable, Transliteration Classes: ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, CategoriesController, Category, Configuration, ConfigurationError, Engine, Error, Feed, Post, PostsController, Tag, Tagging, TagsController, UnknownBlockError, UploadsController
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.active_storage? ⇒ Boolean
ActiveStorage is optional.
- .config ⇒ Object
- .configure {|config| ... } ⇒ Object
-
.register_block(type, &block) ⇒ Object
Public API: registers a block type.
- .registry ⇒ Object
-
.renderer ⇒ Object
Built per call rather than memoized: configuration may change at runtime in tests, and construction is cheap.
-
.reset_configuration! ⇒ Object
Test helper: restores pristine defaults between examples.
- .text_extractor ⇒ Object
Class Method Details
.active_storage? ⇒ Boolean
ActiveStorage is optional. When it is absent the image block still renders a picture from a URL; there is simply nowhere to upload to.
66 67 68 |
# File 'lib/pressroom.rb', line 66 def active_storage? defined?(ActiveStorage::Blob).present? end |
.config ⇒ Object
19 20 21 |
# File 'lib/pressroom.rb', line 19 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ Object
23 24 25 26 |
# File 'lib/pressroom.rb', line 23 def configure yield config config end |
.register_block(type, &block) ⇒ Object
Public API: registers a block type.
Pressroom.register_block :callout do |b|
b.tool "Callout"
b.schema { string :title, required: true }
b.partial "pressroom/blocks/callout"
end
44 45 46 |
# File 'lib/pressroom.rb', line 44 def register_block(type, &block) registry.register(type, &block) end |
.registry ⇒ Object
33 34 35 |
# File 'lib/pressroom.rb', line 33 def registry @registry ||= Blocks::Registry.new end |
.renderer ⇒ Object
Built per call rather than memoized: configuration may change at runtime in tests, and construction is cheap.
50 51 52 53 54 55 56 57 58 |
# File 'lib/pressroom.rb', line 50 def renderer Blocks::Renderer.new( registry: registry, sanitizer: Blocks::Sanitizer.new(tags: config., attributes: config.sanitizer_attributes), strategy: config.resolved_unknown_block_strategy, logger: defined?(Rails) ? Rails.logger : nil ) end |
.reset_configuration! ⇒ Object
Test helper: restores pristine defaults between examples.
29 30 31 |
# File 'lib/pressroom.rb', line 29 def reset_configuration! @config = Configuration.new end |
.text_extractor ⇒ Object
60 61 62 |
# File 'lib/pressroom.rb', line 60 def text_extractor Blocks::TextExtractor.new(registry: registry) end |