Sha256: e976acec518d95db3388bb467c1a4d6e62e444fd10c0567d2907088578577139

Contents?: true

Size: 672 Bytes

Versions: 13

Compression:

Stored size: 672 Bytes

Contents

# frozen_string_literal: true

module Maglev
  class Asset < ApplicationRecord
    include ::Maglev.uploader

    ## validations ##
    validates :file, presence: true

    ## methods ##

    def to_param
      "#{id}-#{File.basename(filename, '.*').parameterize}#{File.extname(filename)}"
    end

    ## class methods ##

    def self.search(keyword, type, page = nil, per_page = nil)
      all
        .optimized
        .where(keyword.present? ? arel_table[:filename].matches("%#{keyword}%") : nil)
        .where(arel_table[:content_type].matches("%#{type}%"))
        .order(created_at: :desc)
        .page(page || 1)
        .per(per_page || 10)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
maglevcms-1.4.0 app/models/maglev/asset.rb
maglevcms-1.3.0 app/models/maglev/asset.rb
maglevcms-1.2.2 app/models/maglev/asset.rb
maglevcms-1.2.1 app/models/maglev/asset.rb
maglevcms-1.2.0 app/models/maglev/asset.rb
maglevcms-1.1.7 app/models/maglev/asset.rb
maglevcms-1.1.6 app/models/maglev/asset.rb
maglevcms-1.1.5 app/models/maglev/asset.rb
maglevcms-1.1.4 app/models/maglev/asset.rb
maglevcms-1.1.3 app/models/maglev/asset.rb
maglevcms-1.1.2 app/models/maglev/asset.rb
maglevcms-1.1.1 app/models/maglev/asset.rb
maglevcms-1.1.0 app/models/maglev/asset.rb