Module: AwesomeFlags

Defined in:
lib/awesome_flags.rb

Instance Method Summary collapse

Instance Method Details

#all_flags(column = nil) ⇒ Object



3
4
5
6
# File 'lib/awesome_flags.rb', line 3

def all_flags(column = nil)
  c = get_array_of_flags(column)
  c.map
end

#get_array_of_flags(column) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/awesome_flags.rb', line 13

def get_array_of_flags(column)
  a = self.flag_mapping
  if column.nil?
    c = a.values.map {|var| var.keys}.flatten
  else
    b = a[column]
    c = Array.[](b.keys).flatten
  end
end

#get_hash_of_flags(column = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/awesome_flags.rb', line 23

def get_hash_of_flags(column = nil)
  a = self.flag_mapping
  if column.nil?
    b = a.values.map!
    c = Hash[*b.collect{|hash| hash.collect{|key,value| [key,value].flatten}.flatten}.flatten]
  else
    c = a[column].to_hash
  end
end

#my_flags(column = nil) ⇒ Object



8
9
10
11
# File 'lib/awesome_flags.rb', line 8

def my_flags(column = nil)
  c = get_array_of_flags(column)
  c.map {|var| self.send(var) ? var : nil}.compact
end