Class: DbSchema::Definitions::Index::Column

Inherits:
Object
  • Object
show all
Defined in:
lib/db_schema/definitions.rb

Direct Known Subclasses

Expression, TableField

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, order: :asc, nulls: order == :asc ? :last : :first) ⇒ Column

Returns a new instance of Column.



37
38
39
40
41
# File 'lib/db_schema/definitions.rb', line 37

def initialize(name, order: :asc, nulls: order == :asc ? :last : :first)
  @name  = name
  @order = order
  @nulls = nulls
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



35
36
37
# File 'lib/db_schema/definitions.rb', line 35

def name
  @name
end

#nullsObject (readonly)

Returns the value of attribute nulls.



35
36
37
# File 'lib/db_schema/definitions.rb', line 35

def nulls
  @nulls
end

#orderObject (readonly)

Returns the value of attribute order.



35
36
37
# File 'lib/db_schema/definitions.rb', line 35

def order
  @order
end

Instance Method Details

#asc?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/db_schema/definitions.rb', line 43

def asc?
  @order == :asc
end

#desc?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/db_schema/definitions.rb', line 47

def desc?
  @order == :desc
end

#ordered_expressionObject



51
52
53
54
55
56
57
# File 'lib/db_schema/definitions.rb', line 51

def ordered_expression
  if asc?
    Sequel.asc(to_sequel, nulls: nulls)
  else
    Sequel.desc(to_sequel, nulls: nulls)
  end
end