Class: SelectedAlbumsRelation

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/subapp_model/selected_albums_relation.rb

Class Method Summary collapse

Class Method Details

.disable_cache(list_ids_cache, id) ⇒ Object



26
27
28
# File 'lib/subapp_model/selected_albums_relation.rb', line 26

def self.disable_cache(list_ids_cache, id)
  list_ids_cache.evict(id)
end

.get_album_ids(list_ids_cache, selected_album, page, limit) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/subapp_model/selected_albums_relation.rb', line 7

def self.get_album_ids(list_ids_cache, selected_album, page, limit)
  id = selected_album.id
  album_ids = nil
  if page == 1
     album_ids = list_ids_cache.get(id, page, limit)
     album_ids = album_ids.collect {|id| id.to_i unless id.nil? || id.empty?}
  end

  if album_ids.nil? || album_ids.length == 0
      select = "album_id"
      album_relations = self.select(select).where(:selected_id=>id).order("field(album_id,#{selected_album.order_num})").offset((page-1)*limit).limit(limit)
      album_ids = album_relations.collect{|album_relation| album_relation.album_id unless album_relation.nil?}
      if page == 1 && album_ids.length > 0 
          list_ids_cache.put(id, album_ids)
      end
  end
  album_ids
end