Class: Blogaze::Controllers::Controller

Inherits:
Ramaze::Controller
  • Object
show all
Defined in:
lib/blogaze/controllers/init.rb

Direct Known Subclasses

Admin::Controller, MainController, Pages, Posts, Sessions, Users

Instance Method Summary collapse

Constructor Details

#initializeController

Sherlock: Initializer Watson: No shit, Sherlock.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/blogaze/controllers/init.rb', line 20

def initialize
  super

  # Get user info
  if session[:logged_in]
    @userinfo = ::Blogaze::Models::User[session[:user_id]]
  end

  # Get settings
  get_settings

  # Set theme
  Theme.use @settings[:theme]

  # Page title
  @title = [@settings[:title]]
end

Instance Method Details

#get_settingsObject

Load settings from the database.



62
63
64
65
66
67
# File 'lib/blogaze/controllers/init.rb', line 62

def get_settings
  @settings = {}
  Blogaze.database[:settings].all.each do |setting|
    @settings[setting[:setting].to_sym] = setting[:value]
  end
end

#title(title) ⇒ Object

Adds the passed title to be added to the page title.

Parameters:

  • title (String)


43
44
45
# File 'lib/blogaze/controllers/init.rb', line 43

def title(title)
  @title.push title
end

#view_file(path) ⇒ Object

Renders the view with the set layout

Parameters:

  • path (String)

    Path to view



52
53
54
55
56
57
# File 'lib/blogaze/controllers/init.rb', line 52

def view_file(path)
  path = path.to_s if not path.is_a?(String)
  view_path = File.join(Theme.current.templates, "#{path}.xhtml")
  layout_path = File.join(Theme.current.templates + "/layouts/#{ancestral_trait[:layout]}.xhtml")
  return render_file(layout_path, :content => render_file(view_path))
end