Sha256: e15325055d44c5edd78b4fd9069ca8c5aa69cbf9c9bd9b69e5e238115a1f12ff

Contents?: true

Size: 566 Bytes

Versions: 7

Compression:

Stored size: 566 Bytes

Contents

module Marty::PgEnum
  def [](i0, i1 = nil)
    # if i1 is provided, then i0 is a pt and we ignore it.
    index = (i1 || i0).to_s

    raise "no such #{name}: '#{index}'" unless
      self::VALUES.include?(index)

    index
  end

  def get_all(pt = nil)
    self::VALUES.map(&:to_s)
  end

  def self.extended(base)
    base.class_eval do
      const_set :GET_ALL_SIG,      [0, 1]
      const_set :LOOKUP_SIG,       [1, 2]
      const_set :FIND_BY_NAME_SIG, [1, 2]
    end
  end

  def seed
  end

  alias_method :find_by_name, :[]
  alias_method :lookup, :[]
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
marty-2.6.0 app/models/marty/pg_enum.rb
marty-2.5.9 app/models/marty/pg_enum.rb
marty-2.5.8 app/models/marty/pg_enum.rb
marty-2.5.7 app/models/marty/pg_enum.rb
marty-2.5.6 app/models/marty/pg_enum.rb
marty-2.5.5 app/models/marty/pg_enum.rb
marty-2.5.4 app/models/marty/pg_enum.rb