class Sidebar

encoding: utf-8

Public Class Methods

description(desc = nil) click to toggle source
# File lib/sidebar.rb, line 161
def description(desc = nil)
  if desc
    @description = desc
  else
    @description
  end
end
display_name(new_dn = nil) click to toggle source
# File lib/sidebar.rb, line 185
def display_name(new_dn = nil)
  @display_name = new_dn if new_dn
  @display_name || short_name.humanize
end
fieldmap() click to toggle source
# File lib/sidebar.rb, line 149
def fieldmap
  @fieldmap ||= {}
end
instantiate(attrs = nil, allocating = false) click to toggle source
Calls superclass method
# File lib/sidebar.rb, line 190
def  instantiate(attrs = nil, allocating = false)
    doc = super(attrs,allocating)
    param_fields.each do |field|
      unless doc.config.has_key?(field.key)
        doc.config[field.key] = field.default
      end
    end
    doc      
end
lifetime(timeout = nil) click to toggle source
# File lib/sidebar.rb, line 169
def lifetime(timeout = nil)
  if timeout
    @lifetime = timeout
  else
    @lifetime
  end
end
new(*args) { |instance| ... } click to toggle source
Calls superclass method
# File lib/sidebar.rb, line 201
def initialize(*args)
  if block_given?
    super(*args) { |instance| yield instance }
  else
    super(*args)
  end
  self.class.param_fields.each do |field|
    unless config.has_key?(field.key)
      config[field.key] = field.default
    end
  end
end
param_fields() click to toggle source
# File lib/sidebar.rb, line 153
def param_fields
  @param_fields ||= []
end
param_fields=(newval) click to toggle source
# File lib/sidebar.rb, line 157
def param_fields=(newval)
  @param_fields = newval
end
parse_sidebar(sidebar) click to toggle source
# File lib/sidebar.rb, line 133
def parse_sidebar(sidebar)
  self.find_by :name => sidebar.to_s
end
path_name() click to toggle source
# File lib/sidebar.rb, line 181
def path_name
  self.to_s.underscore
end
setting(key, default=nil, options = { }) click to toggle source
# File lib/sidebar.rb, line 137
def setting(key, default=nil, options = { })
  return if instance_methods.include?(key.to_s)
  param_fields << ParamField.build(key.to_s, default, options)
  fieldmap.update(key.to_s => param_fields.last)
  self.send(:define_method, key) do
    self.config[key.to_s]
  end
  self.send(:define_method, "#{key}=") do |newval|
    self.config[key.to_s] = newval
  end
end
short_name() click to toggle source
# File lib/sidebar.rb, line 177
def short_name
  self.to_s.underscore.split(%r{_}).first
end

Public Instance Methods

content_partial() click to toggle source
# File lib/sidebar.rb, line 245
def content_partial
  "/#{self.class.path_name}/content"
end
description() click to toggle source
# File lib/sidebar.rb, line 233
def description
  self.class.description
end
display_name() click to toggle source
# File lib/sidebar.rb, line 241
def display_name
  self.class.display_name
end
fieldmap(field = nil) click to toggle source
# File lib/sidebar.rb, line 225
def fieldmap(field = nil)
  if field
    self.class.fieldmap[field.to_s]
  else
    self.class.fieldmap
  end
end
html_id() click to toggle source
# File lib/sidebar.rb, line 214
def html_id
  short_name + '-' + id.to_s
end
lifetime() click to toggle source
# File lib/sidebar.rb, line 255
def lifetime
  self.class.lifetime
end
param_fields() click to toggle source
# File lib/sidebar.rb, line 221
def param_fields
  self.class.param_fields
end
parse_request(params,contents,current_user) click to toggle source
# File lib/sidebar.rb, line 218
def parse_request(params,contents,current_user)
end
short_name() click to toggle source
# File lib/sidebar.rb, line 237
def short_name
  self.class.short_name
end
to_locals_hash() click to toggle source
# File lib/sidebar.rb, line 249
def to_locals_hash
  param_fields.inject({ :sidebar => self }) do |hash, field|
    hash.merge(field.key => config[field.key])
  end
end