Module: Mystique
- Defined in:
- lib/mystique.rb,
lib/mystique/version.rb,
lib/mystique/presenter.rb,
lib/mystique/undefined.rb,
lib/mystique/null_context.rb,
lib/mystique/presenter_class.rb
Defined Under Namespace
Modules: NullContext Classes: Presenter, PresenterClass, Undefined
Constant Summary collapse
- VERSION =
"1.0.1"
Class Method Summary collapse
- .present(object, with: nil, context: nil, &block) ⇒ Object
- .present_collection(collection, context: nil, with: nil, &block) ⇒ Object
Class Method Details
.present(object, with: nil, context: nil, &block) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/mystique.rb', line 11 def self.present(object, with: nil, context: nil, &block) begin presenter_class = PresenterClass.new(object, with).to_class presenter_class.for(object, context, &block) rescue NameError return object end end |
.present_collection(collection, context: nil, with: nil, &block) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/mystique.rb', line 20 def self.present_collection(collection, context: nil, with: nil, &block) return to_enum(:present_collection, collection, context: context, with: with, &block) unless block_given? collection.each do |element| case block.arity when 2 block.call( present(element, context: context, with: with), element ) else block.call(present(element, context: context, with: with)) end end end |