Module: Publinator::ActsAsPublishable

Extended by:
ActiveSupport::Concern
Defined in:
lib/publinator.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#asset_files(asset_type_text = nil) ⇒ Object



49
50
51
52
# File 'lib/publinator.rb', line 49

def asset_files(asset_type_text = nil)
  return asset_items if !asset_type_text
  asset_items.where(:asset_type => asset_type_text)
end

#asset_typesObject



45
46
47
# File 'lib/publinator.rb', line 45

def asset_types
  []
end

#editable_fieldsObject



62
63
64
# File 'lib/publinator.rb', line 62

def editable_fields
  attribute_names - ["id", "created_at", "updated_at"]
end

#is_publishable?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/publinator.rb', line 41

def is_publishable?
  true
end


79
80
81
# File 'lib/publinator.rb', line 79

def menu_collection
  nil
end

#my_slugObject



54
55
56
# File 'lib/publinator.rb', line 54

def my_slug
  slug
end

#pathObject



66
67
68
69
70
71
72
73
# File 'lib/publinator.rb', line 66

def path
  raise "publication not found" if !self.publication
  if self.publication.section
    "#{self.publication.section.path}/#{self.publication.slug}"
  else
    "/#{self.class.to_s.tableize}/#{self.publication.slug}"
  end
end


58
59
60
# File 'lib/publinator.rb', line 58

def related_items(scope)
  []
end

#urlObject



75
76
77
# File 'lib/publinator.rb', line 75

def url
  site.url(path)
end

#verify_publicationObject



83
84
85
86
87
88
89
90
# File 'lib/publinator.rb', line 83

def verify_publication
  if publication.nil?
    self.publication = Publinator::Publication.new(:publishable => self)
  end
  self.publication.site     = site unless publication.site.present?
  self.publication.section  = section unless !section
  self.publication.default  = default
end