Module: Maglove::Engine
- Defined in:
- lib/maglove/engine.rb,
lib/maglove/engine/scope.rb,
lib/maglove/engine/version.rb,
lib/maglove/engine/registry.rb,
lib/maglove/engine/configuration.rb,
lib/maglove/engine/style_builder.rb
Defined Under Namespace
Classes: Configuration, Registry, RenderError, Scope, StyleBuilder
Constant Summary
collapse
- VERSION =
"2.0.14"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
14
15
16
|
# File 'lib/maglove/engine.rb', line 14
def self.config
Configuration.instance
end
|
18
19
20
21
|
# File 'lib/maglove/engine.rb', line 18
def self.configure(&block)
yield Configuration.instance if block_given?
Configuration.instance
end
|
35
36
37
|
# File 'lib/maglove/engine.rb', line 35
def self.register_widget(identifier, klass)
Registry.instance.register_widget(identifier, klass)
end
|
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/maglove/engine.rb', line 39
def self.register_widgets
path = File.join(File.dirname(__FILE__), "/widget/*.rb")
Dir[path].each do |file|
require file
identifier = File.basename(file).split(".").first
klass_name = identifier.camelcase
Maglove::Engine.register_widget(identifier.to_sym, "Maglove::Widget::#{klass_name}".constantize)
Maglove::Engine.register_widget("legacy_#{identifier}".to_sym, "Maglove::Widget::Legacy#{klass_name}".constantize)
end
end
|
.render(haml, variables = {}) ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/maglove/engine.rb', line 27
def self.render(haml, variables = {})
engine = Haml::Engine.new(haml, remove_whitespace: true)
scope = Scope.new(variables)
engine.render(scope)
rescue StandardError => e
raise RenderError.new(e.message, e)
end
|
23
24
25
|
# File 'lib/maglove/engine.rb', line 23
def self.widget(identifier, options = {}, scope)
Maglove::Engine::Registry.instance.widgets[identifier].new(scope, options)
end
|