Class: Memorable::Registration

Inherits:
Object
  • Object
show all
Defined in:
lib/memorable/registration.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.register_actionsObject (readonly)

Returns the value of attribute register_actions.



6
7
8
# File 'lib/memorable/registration.rb', line 6

def register_actions
  @register_actions
end

Class Method Details

.condition_matched?(controller) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
# File 'lib/memorable/registration.rb', line 21

def condition_matched?(controller)
  condition = condition_proc(controller.controller_name)
  return true unless condition
  return controller.instance_eval(&condition)
end

.condition_proc(key) ⇒ Object



31
32
33
# File 'lib/memorable/registration.rb', line 31

def condition_proc(key)
  register_actions[key][:condition_proc] rescue nil
end

.controller_options(key) ⇒ Object



27
28
29
# File 'lib/memorable/registration.rb', line 27

def controller_options(key)
  register_actions[key][:options] rescue nil
end

.register(action_names, controller_name, options, condition_proc) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/memorable/registration.rb', line 8

def register(action_names, controller_name, options, condition_proc)
  register_actions[controller_name] ||= {}
  register_actions[controller_name][:actions] ||= []
  register_actions[controller_name][:actions].concat([action_names].flatten)
  register_actions[controller_name][:options] ||= {}
  register_actions[controller_name][:options].merge! options
  register_actions[controller_name][:condition_proc] ||= condition_proc
end

.registered?(key, name) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/memorable/registration.rb', line 17

def registered?(key, name)
  register_actions[key] && register_actions[key][:actions].include?(name)
end

.resource_name(key) ⇒ Object

Controller Options Helpers



36
37
38
# File 'lib/memorable/registration.rb', line 36

def  resource_name(key)
  register_actions[key][:options][:resource_name] rescue nil
end