Sha256: 1d996c676efa5752324da636f2805b782a90b73b491b73ad180687bb9e9e791a

Contents?: true

Size: 1.12 KB

Versions: 6

Compression:

Stored size: 1.12 KB

Contents

module Skyline::Content
  # @private  
  module Versioning
    # @private    
    module Versionable
      def self.included(obj)
        obj.send(:has_one, :skyline_version, :as => :versionable, :class_name => "Skyline::Content::Versioning::Version")
        obj.send(:delegate, :current_author, :to => :version)      
      end
      
      
      def version
        self.skyline_version || self.build_skyline_version(:version => 1, :author => "")
      end
      
      def current_version
        return @skyline_from_version if @skyline_keep_from_version && @skyline_from_version
        self.version.current_version
      end
      
      # The version this new data we want to save is built on.
      # --
      def from_version=(version)
        @skyline_from_version = version.to_i
      end
      
      def keep_version!
        @skyline_keep_from_version = true
      end
      
      
      # Does the version of the data to save match the one in the DB?
      # --
      def matching_versions?
        return true if @skyline_from_version.blank?
        self.version.current_version == @skyline_from_version
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
skylinecms-3.3.0 lib/skyline/content/versioning/versionable.rb
skylinecms-3.2.0 lib/skyline/content/versioning/versionable.rb
skylinecms-3.1.0 lib/skyline/content/versioning/versionable.rb
westarete-skylinecms-3.0.8.20100329 lib/skyline/content/versioning/versionable.rb
westarete-skylinecms-3.0.8.20100330 lib/skyline/content/versioning/versionable.rb
skylinecms-3.0.8 lib/skyline/content/versioning/versionable.rb