Sha256: e634b218d1f7487413ffb16e980c41c702be5da388518c150b70f43bbb0316d8

Contents?: true

Size: 588 Bytes

Versions: 11

Compression:

Stored size: 588 Bytes

Contents

module Locomotive
  module Concerns
    module ContentEntry
      module FileSize

        extend ActiveSupport::Concern

        included do

          ## fields ##
          field :_file_size, type: Integer, default: 0

          ## callbacks ##
          before_save :sync_file_size

        end

        private

        def sync_file_size
          self._file_size = self.file_custom_fields.inject(0) do |sum, field|
            file = send(field)&.file
            _size = file&.exists? ? file.size : 0
            _size + sum
          end
        end

      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
locomotivecms-4.2.0.alpha2 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.2.0.alpha1 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.1.1 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.1.0 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.1.0.rc1 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.0.3 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.0.2 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.0.1 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.0.0 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.0.0.rc0 app/models/locomotive/concerns/content_entry/file_size.rb
locomotivecms-4.0.0.alpha3 app/models/locomotive/concerns/content_entry/file_size.rb