Class: Pageflow::RevisionComponents

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/pageflow/revision_components.rb

Overview

rubocop:todo Style/Documentation

Instance Method Summary collapse

Constructor Details

#initializeRevisionComponents

Returns a new instance of RevisionComponents.



5
6
7
8
# File 'lib/pageflow/revision_components.rb', line 5

def initialize
  @revision_components = []
  @create_defaults_hooks = []
end

Instance Method Details

#create_defaults(revision) ⇒ Object



24
25
26
# File 'lib/pageflow/revision_components.rb', line 24

def create_defaults(revision)
  @create_defaults_hooks.each { |hook| hook.call(revision) }
end

#eachObject



20
21
22
# File 'lib/pageflow/revision_components.rb', line 20

def each(&)
  @revision_components.each(&)
end

#register(revision_component, create_defaults: false) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/pageflow/revision_components.rb', line 10

def register(revision_component, create_defaults: false)
  return if @revision_components.include?(revision_component)

  @revision_components << revision_component

  return unless create_defaults

  @create_defaults_hooks << ->(revision) { revision_component.create_defaults(revision) }
end