Sha256: d7f1dceabd8ee418b2c2db05635b68d6870391a0b7dfe92cf1c8a989b10532e0

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require 'flexible_enum'
require 'active_record'

ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")

RSpec.configure do |config|
  config.around(:each) do |example|
    ActiveRecord::Base.transaction do
      example.run
      raise ActiveRecord::Rollback
    end
  end
end

ActiveRecord::Schema.define do
  create_table "cash_registers" do |t|
    t.integer  "status"
    t.datetime "emptied_at"
    t.datetime "emptied_on"
    t.datetime "full_at"
    t.string   "manufacturer"
    t.integer  "drawer_position"
  end
end

class CashRegister < ActiveRecord::Base
  flexible_enum :status do
    unknown    0,  inverse: :known
    not_active 10, my_custom_option: "Nothing to see here"
    active     20
    alarm      21, human_name: "Help I'm being robbed!"
    full       22, setter: :fill!
    empty      23, timestamp_attribute: :emptied
  end

  flexible_enum :drawer_position, :namespace => "DrawerPositions" do
    opened 0, setter: :open!, inverse: :not_open
    closed 1, setter: :close!
  end

  flexible_enum :manufacturer do
    honeywell "HON"
    sharp "SHCAY"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
flexible_enum-0.4.1 spec/spec_helper.rb