Module: AbstractAvatar

Defined in:
lib/abstract_avatar.rb,
lib/abstract_avatar/version.rb

Defined Under Namespace

Classes: Error, InvalidCollection, InvalidIllustration

Constant Summary collapse

COLLECTIONS =
%w[character circle square]
COLLECTION_SIZE =
50
ILLUSTRATIONS =
(1..COLLECTION_SIZE).to_a.each_with_object([]) do |index, arr|
  COLLECTIONS.each do |collection|
    arr << "abstract-#{collection}-#{index}.png"
  end
  arr
end.sort.freeze
ROOT_PATH =
File.expand_path("#{File.dirname(__FILE__)}/..")
IMAGE_PATH =
"#{ROOT_PATH}/assets/images"
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.random(collection: nil) ⇒ Object

Raises:



19
20
21
22
23
24
# File 'lib/abstract_avatar.rb', line 19

def random(collection: nil)
  raise InvalidCollection if (!collection.nil? && !COLLECTIONS.include?(collection))
  collection = collection.nil? ? COLLECTIONS.sample : collection
  filename = "abstract-#{collection}-#{(1..COLLECTION_SIZE).to_a.sample}.png"
  image_path(collection, filename)
end

.retrieve(id, collection: "circle") ⇒ Object



26
27
28
29
30
31
# File 'lib/abstract_avatar.rb', line 26

def retrieve(id, collection: "circle")
  raise InvalidIllustration unless (1..COLLECTION_SIZE).to_a.include?(id.to_i)
  raise InvalidCollection if (!collection.nil? && !COLLECTIONS.include?(collection))
  filename = "abstract-#{collection}-#{id}.png"
  image_path(collection, filename)
end