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

Constructor Details

#initialize(conf, storage, params) ⇒ UserSettings

Returns a new instance of UserSettings.



190
191
192
193
# File 'lib/active_scaffold/config/list.rb', line 190

def initialize(conf, storage, params)
  super(conf,storage,params)
  @sorting = nil
end

Instance Attribute Details

#nested_default_sortingObject

Returns the value of attribute nested_default_sorting.



214
215
216
# File 'lib/active_scaffold/config/list.rb', line 214

def nested_default_sorting
  @nested_default_sorting
end

Instance Method Details

#count_includesObject



242
243
244
# File 'lib/active_scaffold/config/list.rb', line 242

def count_includes
  @conf.count_includes
end

#default_sortingObject



221
222
223
# File 'lib/active_scaffold/config/list.rb', line 221

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

#labelObject

This label has alread been localized.



196
197
198
# File 'lib/active_scaffold/config/list.rb', line 196

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

#pageObject



205
206
207
208
# File 'lib/active_scaffold/config/list.rb', line 205

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

#page=(value = nil) ⇒ Object



210
211
212
# File 'lib/active_scaffold/config/list.rb', line 210

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

#per_pageObject



200
201
202
203
# File 'lib/active_scaffold/config/list.rb', line 200

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

#sortingObject



225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
# File 'lib/active_scaffold/config/list.rb', line 225

def sorting
  if @sorting.nil?
    # 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'], @params['sort_direction']] 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'])
      @sorting = sorting
    else
      @sorting = default_sorting
    end
  end
  @sorting
end