Class: Activecube::Query::Ordering
- Inherits:
-
Object
- Object
- Activecube::Query::Ordering
- Defined in:
- lib/activecube/query/ordering.rb
Instance Attribute Summary collapse
-
#argument ⇒ Object
readonly
Returns the value of attribute argument.
-
#direction ⇒ Object
readonly
Returns the value of attribute direction.
Instance Method Summary collapse
- #append_query(_model, _cube_query, _table, query) ⇒ Object
-
#initialize(argument, direction) ⇒ Ordering
constructor
A new instance of Ordering.
- #quote(s) ⇒ Object
Constructor Details
#initialize(argument, direction) ⇒ Ordering
Returns a new instance of Ordering.
6 7 8 9 |
# File 'lib/activecube/query/ordering.rb', line 6 def initialize argument, direction @argument = argument @direction = direction end |
Instance Attribute Details
#argument ⇒ Object (readonly)
Returns the value of attribute argument.
5 6 7 |
# File 'lib/activecube/query/ordering.rb', line 5 def argument @argument end |
#direction ⇒ Object (readonly)
Returns the value of attribute direction.
5 6 7 |
# File 'lib/activecube/query/ordering.rb', line 5 def direction @direction end |
Instance Method Details
#append_query(_model, _cube_query, _table, query) ⇒ Object
11 12 13 14 |
# File 'lib/activecube/query/ordering.rb', line 11 def append_query _model, _cube_query, _table, query text = argument.to_s.split(',').map{|s| quote s}.join(',') query.order(::Arel.sql(text).send(direction)) end |
#quote(s) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/activecube/query/ordering.rb', line 16 def quote s if s =~ /^[\w\.]+$/ "`#{s}`" else s end end |