Class: Gluttonberg::Article

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Content::Publishable, Content::SlugManagement
Defined in:
app/models/gluttonberg/article.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Content::Publishable

included

Methods included from Content::SlugManagement

included

Instance Attribute Details

#nameObject

Returns the value of attribute name.



14
15
16
# File 'app/models/gluttonberg/article.rb', line 14

def name
  @name
end

Instance Method Details

#commenting_disabled?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'app/models/gluttonberg/article.rb', line 18

def commenting_disabled?
  !disable_comments.blank? && disable_comments
end

#current_localizationObject



30
31
32
33
34
35
# File 'app/models/gluttonberg/article.rb', line 30

def current_localization
  if @current_localization.blank?
    load_default_localizations
  end
  @current_localization
end

#duplicateObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'app/models/gluttonberg/article.rb', line 51

def duplicate
  ActiveRecord::Base.transaction do
    duplicated_article = self.dup
    duplicated_article.state = "draft"
    duplicated_article.created_at = Time.now
    duplicated_article.published_at = nil

    if duplicated_article.save
      self.localizations.each do |loc|
        dup_loc = loc.dup
        dup_loc.article_id = duplicated_article.id
        dup_loc.created_at = Time.now
        dup_loc.save
      end
      duplicated_article
    else
      nil
    end
  end
end

#load_default_localizationsObject



47
48
49
# File 'app/models/gluttonberg/article.rb', line 47

def load_default_localizations
  @current_localization = localizations.where(:locale_id => Locale.first_default.id).first
end

#load_localization(locale = nil) ⇒ Object

Load the matching localization as specified in the options



38
39
40
41
42
43
44
45
# File 'app/models/gluttonberg/article.rb', line 38

def load_localization(locale = nil)
  if locale.blank? || locale.id.blank?
    @current_localization = load_default_localizations
  else
    @current_localization = localizations.where("locale_id = ?", locale.id).first
  end
  @current_localization
end

#moderation_requiredObject



22
23
24
25
26
27
28
# File 'app/models/gluttonberg/article.rb', line 22

def moderation_required
  if self.blog.blank?
    true
  else
    self.blog.moderation_required
  end
end