Class: Middleman::Presentation::HelpersManager

Inherits:
Object
  • Object
show all
Defined in:
lib/middleman-presentation-core/helpers_manager.rb

Overview

Manager for helper modules

Instance Method Summary collapse

Constructor Details

#initialize(_creator: PresentationHelper) ⇒ HelpersManager

Returns a new instance of HelpersManager.

[View source]

12
13
14
# File 'lib/middleman-presentation-core/helpers_manager.rb', line 12

def initialize(_creator: PresentationHelper)
  @presentation_helpers = []
end

Instance Method Details

#add(*modules, &block) ⇒ Object

Add helpers

[View source]

17
18
19
20
# File 'lib/middleman-presentation-core/helpers_manager.rb', line 17

def add(*modules, &block)
  presentation_helpers.concat PresentationHelper.parse(modules)
  presentation_helpers << PresentationHelper.new(block) if block_given?
end

#available_helpersObject

Return available helpers

[View source]

23
24
25
# File 'lib/middleman-presentation-core/helpers_manager.rb', line 23

def available_helpers
  presentation_helpers.reduce(Module.new) { |a, e| a.include e.to_module }
end

#to_sObject

Show helper modules

[View source]

28
29
30
31
32
33
34
# File 'lib/middleman-presentation-core/helpers_manager.rb', line 28

def to_s
  data = presentation_helpers.sort.reduce([]) do |a, e|
    a << { name: e.name, type: e.type, available_methods: e.available_methods.to_list }
  end

  List.new(data).to_s(fields: [:name, :type, :available_methods])
end