Module: Flipside::Config::Roles

Included in:
Flipside
Defined in:
lib/flipside/config/roles.rb

Instance Method Summary collapse

Instance Method Details

#register_role(class_name:, method_name:, display_as: nil) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/flipside/config/roles.rb', line 6

def register_role(class_name:, method_name:, display_as: nil)
  registered_roles[class_name.to_s] ||= []
  registered_roles[class_name.to_s] << RegisteredRole.new(
    class_name:,
    method_name:,
    display_as:
  )
end

#role_classesObject



15
16
17
# File 'lib/flipside/config/roles.rb', line 15

def role_classes
  registered_roles.keys
end

#search_role(class_name:, query:) ⇒ Object



19
20
21
22
23
24
# File 'lib/flipside/config/roles.rb', line 19

def search_role(class_name:, query:)
  registered_roles.fetch(class_name.to_s).filter_map do |registered_role|
    next unless registered_role.match? query
    registered_role.to_result
  end
end