Class: AdminModule::Rules

Inherits:
Object
  • Object
show all
Defined in:
lib/admin_module/rules.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(page_factory) ⇒ Rules

Returns a new instance of Rules.



17
18
19
# File 'lib/admin_module/rules.rb', line 17

def initialize(page_factory)
  @page_factory = page_factory
end

Instance Attribute Details

#page_factoryObject (readonly)

Returns the value of attribute page_factory.



15
16
17
# File 'lib/admin_module/rules.rb', line 15

def page_factory
  @page_factory
end

Instance Method Details

#delete(rule) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/admin_module/rules.rb', line 36

def delete rule
  current_rules = list
  fail ArgumentError.new("A rule named '#{rule}' does not exist") unless current_rules.include? rule

  rules_page
    .delete_rule rule
end

#listObject



32
33
34
# File 'lib/admin_module/rules.rb', line 32

def list
  rules_page.get_rules
end

#rename(src, dest) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/admin_module/rules.rb', line 21

def rename src, dest
  current_rules = list
  fail ArgumentError.new("A rule named '#{src}' does not exist") unless current_rules.include? src
  fail ArgumentError.new("A rule named '#{dest}' already exists") if current_rules.include? dest

  rules_page
    .open_rule(src)
    .set_name(dest)
    .save
end