module MarvelApiConsumer

Constants

VERSION

Attributes

config[R]

Public Class Methods

api() click to toggle source
# File lib/marvel_api_consumer.rb, line 37
def api
  @api
end
character_details(character_id = nil, params = {}) click to toggle source
# File lib/marvel_api_consumer.rb, line 32
def character_details(character_id = nil, params = {})
  return nil if character_id.nil?
  MarvelApiConsumer::Character.new(params).get_character(character_id)
end
character_list(params = {}) click to toggle source
# File lib/marvel_api_consumer.rb, line 23
def character_list(params = {})
  max_requested_number = 100 # We may not request more than 100 items with Marvel api as per guidelines
  MarvelApiConsumer::Character.new(params.merge!({limit: max_requested_number}),nil,max_requested_number).fetch_list
end
paginated_character_list(params = {}) click to toggle source
# File lib/marvel_api_consumer.rb, line 28
def paginated_character_list(params = {})
  MarvelApiConsumer::Character.new(params, nil, total_characters).fetch_list
end
set_config(config) click to toggle source
# File lib/marvel_api_consumer.rb, line 10
def set_config(config)
  @config = config
  verify_configuration
  @api = MarvelApiConsumer::Consumer.new(
    public_key: config[:public_key],
    private_key: config[:private_key]
  )
end
total_characters(params = {}) click to toggle source
# File lib/marvel_api_consumer.rb, line 19
def total_characters(params = {})
  MarvelApiConsumer::Character.new(params).max_characters
end

Private Class Methods

verify_configuration() click to toggle source
# File lib/marvel_api_consumer.rb, line 45
def verify_configuration
  if config.nil?
    raise MarvelApiConsumer::NotConfigured, 'Not configured. Please use #set_config with a hash containing :public_key and :private_key.'
  end

  if !config.has_key?(:public_key) || config[:public_key].empty?
    raise MarvelApiConsumer::NotConfigured, 'No Marvel API public key has been set in the configuration, or is empty.'
  end

  if !config.has_key?(:private_key) || config[:private_key].empty?
    raise MarvelApiConsumer::NotConfigured, 'No Marvel API private key has been set in the configuration, or is empty.'
  end
end