Sha256: 158125c130c932738c702d5d51539de95d8e7fb15b28e800940b7cbeb292e83a
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
module Anubis module Etc ## # Definitions of fields order. class FieldOrder # @!attribute [rw] # Returns order field (or array of fields) # @return [String, Array, Symbol] field or field list. class_attribute :field, default: nil # @!attribute [rw] # Field default order. # @return [Symbol] default order class_attribute :order, default: :asc # @!attribute [rw] # Defines if this field order by default. # @return [Boolean] Defines if this field order by default class_attribute :default, default: false ## # Sets default parameters for field order # @param [Hash] options initial model options # @option options [String, Array, Symbol] :field describes field or fields name for order # @option options [Symbol] :order default order type (:asc or :desc) # @option options [Boolean] :default if this field default in order list def initialize(options = {}) self.default = false if options.key? :default self.default = true if options[:default].class == TrueClass end self.order = :asc if options.key? :order self.order = :desc if options[:order] == :desc || options[:order].to_s.downcase == 'desc' end self.field = if options.key? :field then options[:field] else nil end end ## # Generates hash representation of all class parameters, # @return [Hash] hash representation of all data def to_h { field: self.field, order: self.order, default: self.default } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
anoubis-1.0.0 | app/controllers/anoubis/etc/field_order.rb |