Class: CustomSort::Magic

Inherits:
Object
  • Object
show all
Defined in:
lib/custom_sort/magic.rb

Direct Known Subclasses

Enumerable, Relation

Defined Under Namespace

Classes: Enumerable, Relation

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(query_name:, **options) ⇒ Magic

Returns a new instance of Magic.



7
8
9
10
# File 'lib/custom_sort/magic.rb', line 7

def initialize(query_name:, **options)
    @query_name = query_name
    @options = options
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



5
6
7
# File 'lib/custom_sort/magic.rb', line 5

def options
  @options
end

#query_nameObject

Returns the value of attribute query_name.



5
6
7
# File 'lib/custom_sort/magic.rb', line 5

def query_name
  @query_name
end

Class Method Details

.validate_period(period, permit) ⇒ Object

Raises:

  • (ArgumentError)


12
13
14
15
# File 'lib/custom_sort/magic.rb', line 12

def self.validate_period(period, permit)
  permitted_periods = ((permit || CustomSort::FIELDS).map(&:to_sym) & CustomSort::FIELDS).map(&:to_s)
  raise ArgumentError, "Unpermitted period" unless permitted_periods.include?(period.to_s)
end