Sha256: 30398f36c21a1f6091935f1f9a9db217d957a4bc685059ff3420996afbb04d82

Contents?: true

Size: 1.61 KB

Versions: 3

Compression:

Stored size: 1.61 KB

Contents

== ActsAsEnum

主要应用于有枚举类型属性的Model,这个插件会帮我们生成一些常用到的方法。

如:枚举数组常量,每个元素的常量和布尔方法,属性的名字,Named scope方法


== Usage

  Table column type as Varchar or Varchar2
  class User < ActiveRecord::Base
    acts_as_enum :status, :in => [ ['disable', '冻结'], ['enable', '激活'] ]
  end

  Table column type as Integer
  class User < ActiveRecord::Base
    acts_as_enum :status, :in => [ ['disable', 0, '冻结'], ['enable', 1, '激活'] ]
  end

  Table column type as Varchar and Number
  class User < ActiveRecord::Base
    acts_as_enum :status, :in => [ ['disable', '0', '冻结'], ['enable', '1', '激活'] ]
  end

  Also can usage alias enum_attr
  enum_attr :status, :in => [ ['disable', '冻结'], ['enable', '激活'] ]
  enum_attr :status, :in => [ ['disable', 0, '冻结'], ['enable', 1, '激活'] ]

  
  Will generate bellow:
  
    Constants: User::STATUSES, User::DISABLE, User::ENABLE
    
    Named scopes: User.enable, User.disable

    Class methods: User.status_options
    
    Instance methods: user.status_name, user.enable?, user.disable?
    
    
    If with option prefix is true: 
      acts_as_enum :status, :in => [ ['disable', '冻结'], ['enable', '激活'] ], :prefix => true
      
    Will generate bellow:
    
      User::STATUS_DISABLE, User::STATUS_ENABLE, User.status_enable, User.status_disable, user.status_enable?, user.status_disable?


== Install

  git clone git://github.com/liangwenke/acts_as_enum.git


== Note

Copyright (c) 2010 liangwenke.com@gmail.com, released under the MIT license

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
acts_as_enum-1.1.1 README.rdoc
acts_as_enum-1.0.2 README.rdoc
acts_as_enum-1.0.1 README.rdoc