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 14 |
# 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 @includes = includes @meta = @links = links @linked = linked end |
Instance Method Details
#each(&block) ⇒ Object
16 17 18 |
# File 'lib/shogun/presenters.rb', line 16 def each(&block) @sources.each(&block) end |
#linked ⇒ Object
24 25 26 |
# File 'lib/shogun/presenters.rb', line 24 def linked @linked end |
#links ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/shogun/presenters.rb', line 28 def links @links.tap do |hash| includes.each do |name| hash.store("#{namespace}.#{name}", [host, name, "{#{namespace}.#{name}}"].join("/")) end end end |
#meta ⇒ Object
20 21 22 |
# File 'lib/shogun/presenters.rb', line 20 def @meta end |