Class: Proclaim::Post

Inherits:
ActiveRecord::Base
  • Object
show all
Extended by:
FriendlyId
Includes:
AASM
Defined in:
app/models/proclaim/post.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#excerpt_lengthObject



55
56
57
# File 'app/models/proclaim/post.rb', line 55

def excerpt_length
  @excerpt_length ||= Proclaim.excerpt_length
end

Instance Method Details

#excerptObject



59
60
61
62
63
64
65
66
67
# File 'app/models/proclaim/post.rb', line 59

def excerpt
  document = Nokogiri::HTML.fragment(body)

  unless document.text.empty?
    takeExcerptOf first_block_element_text(document)
  else
    ""
  end
end

#feature_imageObject



78
79
80
81
82
83
84
85
86
# File 'app/models/proclaim/post.rb', line 78

def feature_image
  document = Nokogiri::HTML.fragment(body)
  return nil if document.children.empty?

  first_element_images = document.children.first.css("img")
  return nil if first_element_images.empty?

  return first_element_images.first.attr "src"
end

#notifyPostSubscribers(newComment) ⇒ Object



69
70
71
72
73
74
75
76
# File 'app/models/proclaim/post.rb', line 69

def notifyPostSubscribers(newComment)
  subscriptions.each do | subscription |
    # Don't notify the commenter of own comment
    if subscription.comment_id != newComment.id
      subscription.deliver_new_comment_notification_email(newComment)
    end
  end
end