Module: Blogster

Defined in:
lib/blogster.rb,
lib/blogster/version.rb,
lib/blogster/templates.rb,
lib/blogster/templates_parser.rb

Defined Under Namespace

Classes: Template, Templates, TemplatesParser

Constant Summary collapse

VERSION =
'0.1.3'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.templatesObject (readonly)

Returns the value of attribute templates.



13
14
15
# File 'lib/blogster.rb', line 13

def templates
  @templates
end

Class Method Details

.create(templates) ⇒ Object



15
16
17
18
# File 'lib/blogster.rb', line 15

def create(templates)
  @templates = templates
  pages.each { |page| create_page(page) && create_page_templates(page) }
end

.create_page(page) ⇒ Object



24
25
26
27
28
29
# File 'lib/blogster.rb', line 24

def create_page(page)
  Class.new(controller) do
    get "/#{page}" do
    end
  end
end

.create_page_templates(page) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/blogster.rb', line 31

def create_page_templates(page)
  templates.each(page) do |template|
    Class.new(controller) do
      get "/#{page}/#{template.name}" do
        slim :layout do
          markdown template.file, layout: false
        end
      end
    end
  end
end

.pagesObject



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

def pages
  @pages ||= @templates.pages
end

.run!Object



43
44
45
# File 'lib/blogster.rb', line 43

def run!
  Router.run!
end