Module: Serega::SeregaPlugins::Presenter::ClassMethods
- Defined in:
- lib/serega/plugins/presenter/presenter.rb
Overview
Serega additional/patched class methods
Instance Method Summary collapse
-
#custom_presenter? ⇒ Boolean
Checks if the serializer's Presenter class (or an inherited one) was extended with custom user code.
-
#presenter(&block) ⇒ void
Defines presenter methods — evaluates the block inside the serializer's own Presenter class.
Instance Method Details
#custom_presenter? ⇒ Boolean
Checks if the serializer's Presenter class (or an inherited one) was extended with custom user code. When it was not, serialized objects are not wrapped in the Presenter at all.
192 193 194 |
# File 'lib/serega/plugins/presenter/presenter.rb', line 192 def custom_presenter? self::Presenter.modified? end |
#presenter(&block) ⇒ void
This method returns an undefined value.
Defines presenter methods — evaluates the block inside the serializer's own Presenter class. Multiple blocks accumulate.
presenter do
def name
[first_name, last_name].compact.join(" ")
end
end
177 178 179 180 181 182 |
# File 'lib/serega/plugins/presenter/presenter.rb', line 177 def presenter(&block) raise SeregaError, "Provide a block with presenter methods: `presenter do ... end`" unless block self::Presenter.class_exec(&block) nil end |