Sha256: 66baa287311ffa754b1818d26767fc025badf31cfe9f4e1fe16909bf2655c823

Contents?: true

Size: 883 Bytes

Versions: 1

Compression:

Stored size: 883 Bytes

Contents

require './lib/marver.rb'

module Marver
  class Character
    attr_reader :id, :resource_uri, :description, :urls, :name,
      :thumbnail, :comics, :stories, :events, :series, :json, :credentials

    class << self
      def build(response, credentials)
        if response.kind_of?(Array)
          response.collect do |character|
            Marver::Character.new(character, credentials)
          end
        else
          new(response.results, credentials)
        end
      end
    end

    def initialize(json, credentials)
      @credentials = credentials
      @json = json

      @description = json['description']
      @id = json['id'].to_i
      @credentials = credentials
      @name = json['name']
      @resource_uri = "#{json['resourceURI']}?#{@credentials.to_s}"

      CoreEntitiesBuilder.build!(self)
      CommonEntitiesBuilder.build!(self)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
marver-0.0.2 lib/marver/entities/core/character.rb