Class: Alephant::Preview::Server

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/alephant/preview/server.rb

Constant Summary collapse

BASE_LOCATION =
"#{(ENV['BASE_LOCATION'] || Dir.pwd)}/components"

Instance Method Summary collapse

Instance Method Details

#find_id_from_template(template) ⇒ Object



66
67
68
69
70
71
# File 'lib/alephant/preview/server.rb', line 66

def find_id_from_template(template)
  files = Dir.glob(BASE_LOCATION + '/**/models/*')
  file = files.select! { |file| file.include? "/#{template}.rb" }.pop
  result = /#{BASE_LOCATION}\/(\w+)/.match(file)
  result[1]
end

#render_batch_componentObject



84
85
86
87
88
89
90
91
# File 'lib/alephant/preview/server.rb', line 84

def render_batch_component
  {
    :component => template,
    :options   => {},
    :status    => 200,
    :body      => render_component
  }
end

#render_componentObject



80
81
82
# File 'lib/alephant/preview/server.rb', line 80

def render_component
  view_mapper.generate(fixture_data)[template].render
end

#render_previewObject



73
74
75
76
77
78
# File 'lib/alephant/preview/server.rb', line 73

def render_preview
  Template::Base.new(
    { region => render_component },
    preview_template_location
  ).render
end