Class: ActiveScaffold::Config::List::UserSettings

Inherits:
UserSettings
  • Object
show all
Defined in:
lib/active_scaffold/config/list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#nested_default_sortingObject

Returns the value of attribute nested_default_sorting.



156
157
158
# File 'lib/active_scaffold/config/list.rb', line 156

def nested_default_sorting
  @nested_default_sorting
end

Instance Method Details

#count_includesObject



185
186
187
# File 'lib/active_scaffold/config/list.rb', line 185

def count_includes
  @conf.count_includes
end

#default_sortingObject



163
164
165
# File 'lib/active_scaffold/config/list.rb', line 163

def default_sorting
  nested_default_sorting.nil? ? @conf.sorting : nested_default_sorting
end

#get_sortingObject



171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/active_scaffold/config/list.rb', line 171

def get_sorting
  # we want to store as little as possible in the session, but we want to return a Sorting data structure. so we recreate it each page load based on session data.
  @session['sort'] = [@params['sort'].to_sym, @params['sort_direction'] == 'DESC'] if @params['sort'] and @params['sort_direction']
  @session['sort'] = nil if @params['sort_direction'] == 'reset'

  if @session['sort']
    sorting = @conf.sorting.clone
    sorting.set(@session['sort'][1] ? @session['sort'][0].desc : @session['sort'][0])
    return sorting
  else
    return default_sorting
  end
end

#labelObject

This label has alread been localized.



138
139
140
# File 'lib/active_scaffold/config/list.rb', line 138

def label
  @session[:label] ? @session[:label] : @conf.label
end

#pageObject



147
148
149
150
# File 'lib/active_scaffold/config/list.rb', line 147

def page
  @session['page'] = @params['page'] if @params.has_key? 'page'
  @session['page'] || 1
end

#page=(value = nil) ⇒ Object



152
153
154
# File 'lib/active_scaffold/config/list.rb', line 152

def page=(value = nil)
  @session['page'] = value
end

#per_pageObject



142
143
144
145
# File 'lib/active_scaffold/config/list.rb', line 142

def per_page
  @session['per_page'] = @params['limit'].to_i if @params.has_key? 'limit'
  @session['per_page'] || @conf.per_page
end

#sortingObject



167
168
169
# File 'lib/active_scaffold/config/list.rb', line 167

def sorting
  @sorting ||= get_sorting
end