Sha256: 5df8ee10baa2daf6575ce23ca6d4b3a2f9a39155a67eb1bd78574a7ba303d58d

Contents?: true

Size: 567 Bytes

Versions: 12

Compression:

Stored size: 567 Bytes

Contents

module Locomotive
  module Concerns
    module Asset

      module Checksum

        extend ActiveSupport::Concern

        included do
          ## fields ##
          field :checksum

          ## callbacks ##
          before_save :calculate_checksum
        end

        private

        def calculate_checksum
          begin
            if self.checksum.blank?
              self.checksum = Digest::MD5.hexdigest(self.source.read)
            end
          rescue Errno::ENOENT => e
            # no file
          end
        end

      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
locomotivecms-3.0.0 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc7 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc6 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc5 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc4 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc3 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc2 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.rc1 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.pre.beta.1 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.pre.alpha.3 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.pre.alpha.2 app/models/locomotive/concerns/asset/checksum.rb
locomotivecms-3.0.0.pre.alpha app/models/locomotive/concerns/asset/checksum.rb