Class: Gfycat::Attributes::Enum

Inherits:
Object
  • Object
show all
Defined in:
lib/gfycat/attributes/enum.rb

Class Method Summary collapse

Class Method Details

.[](*values) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/gfycat/attributes/enum.rb', line 5

def self.[](*values)
  class_name = self.name

  Class.new(Virtus::Attribute) do
    define_singleton_method :inspect do
      sprintf("#<%s%s>", class_name, values)
    end

    define_method :coerce do |value|
      value && values[value.to_i]
    end
  end
end