Class: Filterameter::Helpers::RequestedSort

Inherits:
Object
  • Object
show all
Defined in:
lib/filterameter/helpers/requested_sort.rb

Overview

# Reqested Sort

Class RequestedSort parses the name and direction from a sort segment.

Constant Summary collapse

SIGN_AND_NAME =
/(?<sign>[+|-]?)(?<name>\w+)/

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, direction) ⇒ RequestedSort

Returns a new instance of RequestedSort.



19
20
21
22
# File 'lib/filterameter/helpers/requested_sort.rb', line 19

def initialize(name, direction)
  @name = name
  @direction = direction
end

Instance Attribute Details

#directionObject (readonly)

Returns the value of attribute direction.



10
11
12
# File 'lib/filterameter/helpers/requested_sort.rb', line 10

def direction
  @direction
end

#nameObject (readonly)

Returns the value of attribute name.



10
11
12
# File 'lib/filterameter/helpers/requested_sort.rb', line 10

def name
  @name
end

Class Method Details

.parse(sort) ⇒ Object



12
13
14
15
16
17
# File 'lib/filterameter/helpers/requested_sort.rb', line 12

def self.parse(sort)
  parsed = sort.match SIGN_AND_NAME

  new(parsed['name'],
      parsed['sign'] == '-' ? :desc : :asc)
end