Class: Dugway::Liquifier

Inherits:
Object
  • Object
show all
Defined in:
lib/dugway/liquifier.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ Liquifier

Returns a new instance of Liquifier.



16
17
18
# File 'lib/dugway/liquifier.rb', line 16

def initialize(request)
  @request = request
end

Class Method Details

.render_styles(css) ⇒ Object



40
41
42
43
44
45
# File 'lib/dugway/liquifier.rb', line 40

def self.render_styles(css)
  Liquid::Template.parse(css).render!(
    { 'theme' => Drops::ThemeDrop.new(Dugway.theme.customization) },
    :registers => { :settings => Dugway.theme.settings }
  )
end

Instance Method Details

#render(content, variables = {}) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/dugway/liquifier.rb', line 20

def render(content, variables={})
  variables.symbolize_keys!

  assigns = shared_assigns
  assigns['page_content'] = variables[:page_content]
  assigns['page'] = Drops::PageDrop.new(variables[:page])
  assigns['product'] = Drops::ProductDrop.new(variables[:product])

  registers = shared_registers
  registers[:category] = variables[:category]
  registers[:artist] = variables[:artist]

  if errors = variables.delete(:errors)
    shared_context['errors'] << errors
  end

  context = Liquid::Context.new([ assigns, shared_context ], {}, registers)
  Liquid::Template.parse(content).render!(context)
end