Class: BlogBasic::BlogComment

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
BlogBasicModelHelper
Defined in:
app/models/blog_basic/blog_comment.rb

Instance Method Summary collapse

Methods included from BlogBasicModelHelper

#code_highlight_and_markdown, #user_image_tag

Instance Method Details

#akismet_attributesObject



64
65
66
67
68
69
70
71
72
73
74
75
# File 'app/models/blog_basic/blog_comment.rb', line 64

def akismet_attributes
  {
    :key                  => BlogBasic::BlogConf.data['akismet_key'],
    :blog                 => BlogBasic::BlogConf.data['blog_url'],
    :user_ip              => user_ip,
    :user_agent           => user_agent,
    :comment_author       => name,
    :comment_author_email => email,
    :comment_author_url   => site_url,
    :comment_content      => body
  }
end

#check_for_spamObject



52
53
54
55
56
57
58
59
60
61
62
# File 'app/models/blog_basic/blog_comment.rb', line 52

def check_for_spam
  if BlogBasic::BlogConf.data['akismet_key'] && BlogBasic::BlogConf.data['blog_url']
    if Akismetor.spam?(akismet_attributes)
      self.errors.add_to_base('This comment has been detected as spam')
      return false
    else
      return true
    end
  end
  true
end

#formatted_created_atObject



21
22
23
# File 'app/models/blog_basic/blog_comment.rb', line 21

def formatted_created_at
  self.created_at.strftime(BlogBasic::BlogConf.data['post_date_format'] || '%m/%d/%Y at %I:%M%p')
end

#parsed_bodyObject



25
26
27
28
29
30
# File 'app/models/blog_basic/blog_comment.rb', line 25

def parsed_body
  # # Going to add markdown/html support later for comments
  # self.code_highlight_and_markdown(self.body, {:escape_html => true})

  self.body
end

#request=(request) ⇒ Object

Used to set more tracking for akismet



46
47
48
49
50
# File 'app/models/blog_basic/blog_comment.rb', line 46

def request=(request)
  self.user_ip    = request.remote_ip
  self.user_agent = request.env['HTTP_USER_AGENT']
  self.referrer   = request.env['HTTP_REFERER']
end

#siteObject



41
42
43
# File 'app/models/blog_basic/blog_comment.rb', line 41

def site
  self.site_url.blank? ? "" : self.site_url
end

#user_nameObject



32
33
34
35
36
37
38
39
# File 'app/models/blog_basic/blog_comment.rb', line 32

def user_name
  name = self.user ? self.user.name : self.name
  if !self.site_url.blank? && false
    return "<a href=\"".html_safe << self.site_url << "\">".html_safe << name << "</a>".html_safe
  else
    return name
  end
end

#validateObject



15
16
17
18
19
# File 'app/models/blog_basic/blog_comment.rb', line 15

def validate
  if !self.user
    self.errors.add(:name, 'is required') if self.name.blank?
  end
end