Class: ActiveRecordSpannerAdapter::Table::Column
- Inherits:
-
Object
- Object
- ActiveRecordSpannerAdapter::Table::Column
- Defined in:
- lib/activerecord_spanner_adapter/table/column.rb
Instance Attribute Summary collapse
-
#allow_commit_timestamp ⇒ Object
Returns the value of attribute allow_commit_timestamp.
-
#default ⇒ Object
Returns the value of attribute default.
-
#default_function ⇒ Object
Returns the value of attribute default_function.
-
#generated ⇒ Object
Returns the value of attribute generated.
-
#limit ⇒ Object
Returns the value of attribute limit.
-
#name ⇒ Object
Returns the value of attribute name.
-
#nullable ⇒ Object
Returns the value of attribute nullable.
-
#ordinal_position ⇒ Object
Returns the value of attribute ordinal_position.
-
#primary_key ⇒ Object
Returns the value of attribute primary_key.
-
#schema_name ⇒ Object
Returns the value of attribute schema_name.
-
#table_name ⇒ Object
Returns the value of attribute table_name.
-
#type ⇒ Object
Returns the value of attribute type.
Instance Method Summary collapse
-
#initialize(table_name, name, type, schema_name: "", limit: nil, ordinal_position: nil, nullable: true, allow_commit_timestamp: nil, default: nil, default_function: nil, generated: nil, primary_key: false) ⇒ Column
constructor
A new instance of Column.
- #options ⇒ Object
- #spanner_type ⇒ Object
Constructor Details
#initialize(table_name, name, type, schema_name: "", limit: nil, ordinal_position: nil, nullable: true, allow_commit_timestamp: nil, default: nil, default_function: nil, generated: nil, primary_key: false) ⇒ Column
Returns a new instance of Column.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 14 def initialize \ table_name, name, type, schema_name: "", limit: nil, ordinal_position: nil, nullable: true, allow_commit_timestamp: nil, default: nil, default_function: nil, generated: nil, primary_key: false @schema_name = schema_name.to_s @table_name = table_name.to_s @name = name.to_s @type = type @limit = limit @nullable = nullable != false @ordinal_position = ordinal_position @allow_commit_timestamp = @default = default @default_function = default_function @generated = generated == true @primary_key = primary_key end |
Instance Attribute Details
#allow_commit_timestamp ⇒ Object
Returns the value of attribute allow_commit_timestamp.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def @allow_commit_timestamp end |
#default ⇒ Object
Returns the value of attribute default.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def default @default end |
#default_function ⇒ Object
Returns the value of attribute default_function.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def default_function @default_function end |
#generated ⇒ Object
Returns the value of attribute generated.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def generated @generated end |
#limit ⇒ Object
Returns the value of attribute limit.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def limit @limit end |
#name ⇒ Object
Returns the value of attribute name.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def name @name end |
#nullable ⇒ Object
Returns the value of attribute nullable.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def nullable @nullable end |
#ordinal_position ⇒ Object
Returns the value of attribute ordinal_position.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def ordinal_position @ordinal_position end |
#primary_key ⇒ Object
Returns the value of attribute primary_key.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def primary_key @primary_key end |
#schema_name ⇒ Object
Returns the value of attribute schema_name.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def schema_name @schema_name end |
#table_name ⇒ Object
Returns the value of attribute table_name.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def table_name @table_name end |
#type ⇒ Object
Returns the value of attribute type.
10 11 12 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 10 def type @type end |
Instance Method Details
#options ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 46 def { limit: limit, null: nullable, allow_commit_timestamp: }.delete_if { |_, v| v.nil? } end |
#spanner_type ⇒ Object
41 42 43 44 |
# File 'lib/activerecord_spanner_adapter/table/column.rb', line 41 def spanner_type return "#{type}(#{limit || 'MAX'})" if limit_allowed? type end |