Class: Monologue::Post

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.listing_page(p) ⇒ Object



43
44
45
# File 'app/models/monologue/post.rb', line 43

def self.listing_page(p)
  paged_results(p, Monologue::Config.admin_posts_per_page || 50, true)
end

.page(p) ⇒ Object



39
40
41
# File 'app/models/monologue/post.rb', line 39

def self.page p
  paged_results(p, Monologue::Config.posts_per_page || 10, false)
end

.set_total_pages(per_page) ⇒ Object



51
52
53
# File 'app/models/monologue/post.rb', line 51

def self.set_total_pages per_page
  @number_of_pages = self.count / per_page + (self.count % per_page == 0 ? 0 : 1)
end

.total_pagesObject



47
48
49
# File 'app/models/monologue/post.rb', line 47

def self.total_pages
  @number_of_pages
end

Instance Method Details

#full_urlObject



31
32
33
# File 'app/models/monologue/post.rb', line 31

def full_url
  "#{Monologue::Engine.routes.url_helpers.root_path}#{self.url}"
end

#published_in_future?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/monologue/post.rb', line 35

def published_in_future?
  self.published && self.published_at > DateTime.now
end

#tag!(tags_attr) ⇒ Object



25
26
27
28
29
# File 'app/models/monologue/post.rb', line 25

def tag!(tags_attr)
  self.tags = tags_attr.map(&:strip).reject(&:blank?).map do |tag|
    Monologue::Tag.where(name: tag).first_or_create
  end
end

#tag_listObject



21
22
23
# File 'app/models/monologue/post.rb', line 21

def tag_list
  self.tags.map { |tag| tag.name }.join(", ") if self.tags
end

#tag_list=(tags_attr) ⇒ Object



17
18
19
# File 'app/models/monologue/post.rb', line 17

def tag_list= tags_attr
  self.tag!(tags_attr.split(","))
end