Class: ActiveAdmin::OrderClause
- Inherits:
-
Object
- Object
- ActiveAdmin::OrderClause
- Defined in:
- lib/active_admin/order_clause.rb
Instance Attribute Summary collapse
-
#field ⇒ Object
readonly
Returns the value of attribute field.
-
#order ⇒ Object
readonly
Returns the value of attribute order.
Instance Method Summary collapse
-
#initialize(clause) ⇒ OrderClause
constructor
A new instance of OrderClause.
- #to_sql(active_admin_config) ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(clause) ⇒ OrderClause
Returns a new instance of OrderClause.
5 6 7 8 9 10 11 12 |
# File 'lib/active_admin/order_clause.rb', line 5 def initialize(clause) clause =~ /^([\w\_\.]+)(->'\w+')?_(desc|asc)$/ @column = $1 @op = $2 @order = $3 @field = [@column, @op].compact.join end |
Instance Attribute Details
#field ⇒ Object (readonly)
Returns the value of attribute field.
3 4 5 |
# File 'lib/active_admin/order_clause.rb', line 3 def field @field end |
#order ⇒ Object (readonly)
Returns the value of attribute order.
3 4 5 |
# File 'lib/active_admin/order_clause.rb', line 3 def order @order end |
Instance Method Details
#to_sql(active_admin_config) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/active_admin/order_clause.rb', line 18 def to_sql(active_admin_config) table = active_admin_config.resource_column_names.include?(@column) ? active_admin_config.resource_table_name : nil table_column = (@column =~ /\./) ? @column : [table, active_admin_config.resource_quoted_column_name(@column)].compact.join(".") [table_column, @op, ' ', @order].compact.join end |
#valid? ⇒ Boolean
14 15 16 |
# File 'lib/active_admin/order_clause.rb', line 14 def valid? @field.present? && @order.present? end |