Class: MaintenanceMode

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/maintenance_mode.rb,
lib/maintenance_mode/version.rb,
lib/maintenance_mode/rake_tasks.rb,
lib/maintenance_mode/file_persistence.rb,
lib/maintenance_mode/null_persistence.rb

Defined Under Namespace

Classes: FilePersistence, NullPersistence, RakeTasks

Constant Summary collapse

VERSION =
'0.0.2'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.persistenceObject



23
24
25
# File 'lib/maintenance_mode.rb', line 23

def persistence
  @persistence || NullPersistence.new
end

Class Method Details

.as_jsonObject



14
15
16
17
18
19
# File 'lib/maintenance_mode.rb', line 14

def as_json
  {
    enabled: enabled?,
    message: message,
  }
end

.persist_with(persistence_method, *args, &block) ⇒ Object



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

def persist_with(persistence_method, *args, &block)
  self.persistence = persistence_methods.fetch(persistence_method).new(*args, &block)
end

.register_persistence_method(name, persistence_method_class) ⇒ Object



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

def register_persistence_method(name, persistence_method_class)
  persistence_methods[name] = persistence_method_class
end

.resetObject



35
36
37
38
# File 'lib/maintenance_mode.rb', line 35

def reset
  @persistence_methods = nil
  @persistence = nil
end