Class: Skyline::Publication

Inherits:
ArticleVersion show all
Defined in:
app/models/skyline/publication.rb

Instance Method Summary collapse

Methods inherited from ArticleVersion

#build_data, #clone, #clone_to_class, #data_with_build, #method_missing, #respond_to?, #to_text

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Skyline::ArticleVersion

Instance Method Details

#published?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'app/models/skyline/publication.rb', line 7

def published?
  self.article.published_publication == self
end

#rollback(variant_attributes) ⇒ Object

variant_attributes: an Hash of attributes for a new Variant required: variant_attributes

Raises:

  • (ArgumentError)


14
15
16
17
18
19
20
21
22
23
# File 'app/models/skyline/publication.rb', line 14

def rollback(variant_attributes)
  raise ArgumentError, "variant_attributes must be an Hash" unless variant_attributes.kind_of?(Hash)
  raise ArgumentError, "variant_attributes['name'] expected" unless variant_attributes.include?('name')
  
  variant = self.clone_to_class(self.article.variants)
  variant.attributes = variant_attributes      
  variant.variant_id = nil
  variant.save
  variant
end