Sha256: 883693011718f70405f664c5662eba38378a15d03e571162babb7760dba696b4

Contents?: true

Size: 727 Bytes

Versions: 1

Compression:

Stored size: 727 Bytes

Contents

require 'ar-enums'

ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")
load(File.dirname(__FILE__) + "/../spec/schema.rb")

class TrafficLight < ActiveRecord::Base
  enum :state, %w[red green yellow]
end

tl = TrafficLight.new(state: :green)
p tl.state      # => #<TrafficLight::State @name="green", @id=2>
p tl.state_id   # => 2
p TrafficLight.states.map(&:to_s)

# class TrafficLight < ActiveRecord::Base
#   enum :state, [
#     { name: :red, stop_traffic: true, rgb: 0xF00 },
#     { name: :green, stop_traffic: false, rgb: 0x0F0 }
#   ]
# end
#
# tl = TrafficLight.new(state: :green)
# p tl.state_id       # => 2
# p tl.state.stop_traffic   # => false
# p tl.state.rgb            # => 0x0F0

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ar-enums-2.0.2 examples/internal_enums.rb