Class: Report

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document, Mongoid::Timestamps
Defined in:
lib/report.rb

Constant Summary collapse

PER_PAGE =
20

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.allObject


79
80
81
# File 'lib/report.rb', line 79

def self.all
  self.where( :is_public => true, :is_trash => false ).order_by( :created_at => :desc )
end

.clearObject


135
136
137
138
139
# File 'lib/report.rb', line 135

def self.clear
  if Rails.env.test?
    self.unscoped.each { |r| r.remove }
  end
end

.for_homepage(args) ⇒ Object


87
88
89
90
91
92
93
94
# File 'lib/report.rb', line 87

def self.for_homepage args
  begin
    tag_ids = args[:main_tag].children_tags.map { |tag| tag._id } + [ args[:main_tag]._id ]
    return Report.where( :tag_ids.in => tag_ids ).page args[:page]
  rescue
    return Report.page args[:page]  
  end
end

.list(conditions = { :is_trash => false }) ⇒ Object


65
66
67
68
# File 'lib/report.rb', line 65

def self.list conditions = { :is_trash => false }
  out = self.where( conditions ).order_by( :name => :asc ).limit( 100 )
  [['', nil]] + out.map { |item| [ item.name, item.id ] }
end

.not_taggedObject


83
84
85
# File 'lib/report.rb', line 83

def self.not_tagged
  Report.where( :tag_ids => nil, :city => nil )
end

.paginates_perObject


71
72
73
# File 'lib/report.rb', line 71

def self.paginates_per
  self::PER_PAGE
end

Instance Method Details

#is_premiumObject


147
148
149
# File 'lib/report.rb', line 147

def is_premium
  premium_tier > 0
end

#premium?Boolean

Returns:

  • (Boolean)

150
# File 'lib/report.rb', line 150

def premium?; is_premium; end

#premium_tierObject

copy-paste


146
# File 'lib/report.rb', line 146

field :premium_tier, type: Integer, default: 0

#set_name_seoObject


97
98
99
# File 'lib/report.rb', line 97

def set_name_seo
  self.name_seo ||= self.name.gsub(' ', '-').gsub('.', '')
end

#venueObject


75
76
77
# File 'lib/report.rb', line 75

def venue
  return self.venues[0] || nil
end