Sha256: 064f0f4fb4cc066a1ef88803aabf7e65ff19c4767906c8b4e47ce00dd16f08f3

Contents?: true

Size: 1.25 KB

Versions: 3

Compression:

Stored size: 1.25 KB

Contents

module Marver
  module Summarizable

    def characters
      @characters ||= entity_items('characters').collect do |character|
        Marver::Summary::Character.new(character)
      end
    end

    def creators
      @creators ||= entity_items('creators').collect do |creator|
        Marver::Summary::Creator.new(creator)
      end
    end

    def events
      @events ||= entity_items('events').collect do |event|
        Marver::Summary::Event.new(event)
      end
    end

    def series
      @series ||= entity_items('series').collect do |serie|
        Marver::Summary::Serie.new(serie)
      end
    end

    def stories
      @stories ||= entity_items('stories').collect do |story|
        Marver::Summary::Story.new(story)
      end
    end

    def characters
      @characters ||= entity_items('characters').collect do |character|
        Marver::Summary::Character.new(character)
      end
    end

    def comics
      @comics ||= entity_items('comics').collect do |comic|
        Marver::Summary::Comic.new(comic)
      end
    end

    def entity_items(entity)
      if json[entity].kind_of?(Hash) && json[entity].has_key?('items')
        [json[entity]['items']].compact.flatten(1)
      else
        [json[entity]].compact.flatten(1)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
marver-0.0.6 lib/marver/entities/summarizable.rb
marver-0.0.5 lib/marver/entities/summarizable.rb
marver-0.0.4 lib/marver/entities/summarizable.rb