Ehon
Ehon is a simple enum library.
Installation
Add this line to your application's Gemfile:
gem 'ehon'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ehon
Usage
You can create your enum class easily.
class DeviceType
include Ehon
default user_agent_regexp: //
UNKNOWN = enum 0, name: 'unknown'
IOS = enum 1, name: 'iOS', user_agent_regexp: /(iPhone|iPad|iPod)/
ANDROID = enum 2, name: 'Android', user_agent_regexp: /Android/
end
Using DeviceType class.
DeviceType::IOS.id #=> 1
DeviceType::ANDROID.user_agent_regexp #=> /Android/
Finding.
DeviceType[1, 2] #=> [#<DeviceType:...(iOS)>, #<DeviceType:...(Android)>]
DeviceType.find(name: 'iOS') #=> #<DeviceType:...(iOS)>
Custom method.
class DeviceType
%w[iOS Android unknown].each do |name|
define_method :"#{name.downcase}?" do
self.name == name
end
end
end
DeviceTypel::IOS.ios? #=> true
DeviceTypel::IOS.android? #=> false
Contributing
- Fork it ( http://github.com/hekk/ehon/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request


