Class: BlogPost

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/blog_post.rb

Defined Under Namespace

Modules: ShareThis

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.comments_allowed?Boolean

Returns:

  • (Boolean)


75
76
77
78
79
# File 'app/models/blog_post.rb', line 75

def comments_allowed?
  RefinerySetting.find_or_set(:comments_allowed, true, {
    :scoping => 'blog'
  })
end

.next(current_record) ⇒ Object



69
70
71
72
73
# File 'app/models/blog_post.rb', line 69

def next current_record
  self.send(:with_exclusive_scope) do
    where(["published_at > ? and draft = ?", current_record.published_at, false]).order("published_at ASC")
  end
end

.uncategorizedObject



81
82
83
# File 'app/models/blog_post.rb', line 81

def uncategorized
  BlogPost.live.reject { |p| p.categories.any? }
end

Instance Method Details

#category_ids=(ids) ⇒ Object



58
59
60
61
62
# File 'app/models/blog_post.rb', line 58

def category_ids=(ids)
  self.categories = ids.reject{|id| id.blank?}.collect {|c_id|
    BlogCategory.find(c_id.to_i) rescue nil
  }.compact
end

#friendly_id_sourceObject



64
65
66
# File 'app/models/blog_post.rb', line 64

def friendly_id_source
  custom_url.present? ? custom_url : title
end

#live?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'app/models/blog_post.rb', line 54

def live?
  !draft and published_at <= Time.now
end

#nextObject

next is now in << self



46
47
48
# File 'app/models/blog_post.rb', line 46

def next
  BlogPost.next(self).first
end

#prevObject



50
51
52
# File 'app/models/blog_post.rb', line 50

def prev
  BlogPost.previous(self).first
end