Class: Shogun::Presenters
- Inherits:
-
Object
- Object
- Shogun::Presenters
- Includes:
- Enumerable
- Defined in:
- lib/shogun/presenters.rb
Instance Method Summary collapse
- #each(&block) ⇒ Object
-
#initialize(resources:, cast:, includes: [], meta: {}, links: {}, linked: {}) ⇒ Presenters
constructor
A new instance of Presenters.
- #linked ⇒ Object
- #links ⇒ Object
- #meta ⇒ Object
Constructor Details
#initialize(resources:, cast:, includes: [], meta: {}, links: {}, linked: {}) ⇒ Presenters
Returns a new instance of Presenters.
5 6 7 8 9 10 11 12 13 |
# File 'lib/shogun/presenters.rb', line 5 def initialize(resources:, cast:, includes: [], meta: {}, links: {}, linked: {}) @cast = @cast @sources = resources.map do |resource| cast.new(resource: resource, includes: includes) end @meta = @links = links @linked = linked end |
Instance Method Details
#each(&block) ⇒ Object
15 16 17 |
# File 'lib/shogun/presenters.rb', line 15 def each(&block) @sources.each(&block) end |
#linked ⇒ Object
23 24 25 |
# File 'lib/shogun/presenters.rb', line 23 def linked @linked end |
#links ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/shogun/presenters.rb', line 27 def links @links.tap do |hash| includes.each do |name| hash.store("#{namespace}.#{name}", [host, name, "{#{namespace}.#{name}}"].join("/")) end end end |
#meta ⇒ Object
19 20 21 |
# File 'lib/shogun/presenters.rb', line 19 def @meta end |