Sha256: f34fdcd86fb8849c0a82cc0fe765bda193fe82a41d08017165e7ad2d5a4b7080

Contents?: true

Size: 661 Bytes

Versions: 1

Compression:

Stored size: 661 Bytes

Contents

class RademadeAdmin::SortableService

  def initialize(model_info, params)
    @model_info = model_info
    @params = params
  end

  def re_sort_items
    min = @params[:minimum].to_i
    @params[:sorted].each do |k, v|
      item = @model_info.model.find(v[0])
      item.position = k.to_i + 1 + min
      item.save
    end
  end

  def can_reset?
    @params[:sort].present?
  end

  def sorting_sign(name)
    if name.to_s == @params[:sort]
      case @params[:direction]
        when 'asc'
          return '⬇'
        when 'desc'
          return '⬆'
      end
    end
    ''
  end

  def has_position?
    @model_info.has_field? 'position'
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rademade_admin-0.0.1 app/services/sortable_service.rb