Sha256: 211a174fb6ab664d04d1ad8f5fd4707fbc30b65483f47408934184600aaa9f19

Contents?: true

Size: 1.09 KB

Versions: 4

Compression:

Stored size: 1.09 KB

Contents

description  'Export variables to context and javascript'
dependencies 'aspects'

def self.exported_variables(page)
  {
    'base_path'             => Config['base_path'],
    'page_name'             => page.name,
    'page_new'              => page.new?,
    'page_modified'         => page.modified?,
    'page_path'             => page.path,
    'page_title'            => page.title,
    'page_version'          => page.version.to_s,
    'page_next_version'     => page.next_version.to_s,
    'page_previous_version' => page.previous_version.to_s,
    'page_mime'             => page.mime.to_s,
    'default_mime'          => Page.default_mime
  }
end

# Export variables to aspect context
Aspects::Context.hook(:initialized) do
  params.merge!(PLUGIN.exported_variables(page))
end

# Export variables to javascript for client extensions
Application.hook :head, 1 do
  vars = page ? params.merge(PLUGIN.exported_variables(page)) : params
  vars = vars.merge('user_name' => User.current.name) if User.logged_in?
  %{<script type="text/javascript">Olelo = #{escape_javascript MultiJson.dump(vars)};</script>}
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
olelo-0.9.9 plugins/misc/variables.rb
olelo-0.9.8 plugins/misc/variables.rb
olelo-0.9.7 plugins/misc/variables.rb
olelo-0.9.6 plugins/misc/variables.rb