awesome_flags¶ ↑
You’ll need the FlagShihTzu plugin installed.
plugin install git://github.com/xing/flag_shih_tzu.git
Then set that up how you like. FlagShihTzu
Then get the awesome_flags gem.
gem 'awesome_flags'
AwesomeFlags
outputs the keys used in FlagShihTzu columns as an Array of :symbols, or a Hash of flag names and bit values.¶ ↑
Just require AwesomeFlags
in your model. Don’t forget to install the FlagShihTzu plugin and add that as well.
include FlagShihTzu include AwesomeFlags
Array Methods¶ ↑
Call all active flags for a variable, or add a column name to filter.
my_flags my_flags("column_name")
Using the all_flags method will return all flags (filtered by column or not).
all_flags all_flags("column_name")
You can also send either method to a block to output formatted flags.
This can be handy to do things like generate check boxes dynamically. For example
- @thing.all_flags.each do |flag| = check_box flag, :class => 'check_box' = label :flags, "#{flag.to_s.titleize}"
Hash Method¶ ↑
There is also a method to return the hash of flag names and bit values. The keys are the flag names and the values are the bit values. This can also be filtered by column.
get_hash_of_flags get_hash_of_flags("column_name")
Good for creating drop downs
= select(:flags, @thing.get_hash_of_flags.collect {|key, value| ["#{key.to_s.titleize}", value]})
Copyright © 2011 Gabe Kessler. See LICENSE.txt for further details.