Sha256: f00f75aea819e2ae43c3347d18aab9f021100ae968fd2ec6474c796a60f0e22d
Contents?: true
Size: 754 Bytes
Versions: 1
Compression:
Stored size: 754 Bytes
Contents
module Shogun class Presenters include Enumerable def initialize(resources:, cast:, includes: [], meta: {}, links: {}, linked: {}) @cast = @cast @sources = resources.map do |resource| cast.new(resource: resource, includes: includes) end @meta = meta @links = links @linked = linked end def each(&block) @sources.each(&block) end def meta @meta end def linked @linked end def links @links.tap do |hash| includes.each do |name| hash.store("#{namespace}.#{name}", [host, name, "{#{namespace}.#{name}}"].join("/")) end end end private def namespace @cast.const_get("NAMESPACE") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shogun-4.0.0 | lib/shogun/presenters.rb |