Sha256: 6c61d69761ee406303caa53dac1dd381978d845b45c5eec6bca83bd58b6cedc7

Contents?: true

Size: 598 Bytes

Versions: 8

Compression:

Stored size: 598 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

  def _pg_enum?
    true
  end

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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
marty-2.6.8 app/models/marty/pg_enum.rb
marty-2.6.7 app/models/marty/pg_enum.rb
marty-2.6.6 app/models/marty/pg_enum.rb
marty-2.6.5 app/models/marty/pg_enum.rb
marty-2.6.4 app/models/marty/pg_enum.rb
marty-2.6.3 app/models/marty/pg_enum.rb
marty-2.6.2 app/models/marty/pg_enum.rb
marty-2.6.1 app/models/marty/pg_enum.rb