Class: JunglePath::DBModel::Column
- Inherits:
-
Object
- Object
- JunglePath::DBModel::Column
- Defined in:
- lib/jungle_path/db_model/column.rb
Instance Attribute Summary collapse
-
#base_type ⇒ Object
readonly
Returns the value of attribute base_type.
-
#foreign_key_table_name ⇒ Object
readonly
Returns the value of attribute foreign_key_table_name.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#override_type ⇒ Object
readonly
Returns the value of attribute override_type.
-
#sequence ⇒ Object
readonly
Returns the value of attribute sequence.
-
#tags ⇒ Object
readonly
Returns the value of attribute tags.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Class Method Summary collapse
Instance Method Summary collapse
- #alternate_key? ⇒ Boolean
- #audit_column_names ⇒ Object
- #calculated=(value) ⇒ Object
- #calculated? ⇒ Boolean
- #default_value ⇒ Object
- #desc ⇒ Object
- #foreign_key? ⇒ Boolean
- #index ⇒ Object
-
#initialize(sequence, name, type, primary_key = false, foreign_key = false, foreign_key_table_name = nil, not_null = false, unique = false, secure = false, alternate_key = false, calculated = false, desc = nil, index = nil, unique_index = nil, default_value = nil, tags = nil, override_type = nil) ⇒ Column
constructor
A new instance of Column.
- #is_audit_column? ⇒ Boolean
- #not_null? ⇒ Boolean
- #primary_key? ⇒ Boolean
- #ruby_type ⇒ Object
- #secure? ⇒ Boolean
- #unique? ⇒ Boolean
- #unique_index ⇒ Object
Constructor Details
#initialize(sequence, name, type, primary_key = false, foreign_key = false, foreign_key_table_name = nil, not_null = false, unique = false, secure = false, alternate_key = false, calculated = false, desc = nil, index = nil, unique_index = nil, default_value = nil, tags = nil, override_type = nil) ⇒ Column
Returns a new instance of Column.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/jungle_path/db_model/column.rb', line 7 def initialize(sequence, name, type, primary_key=false, foreign_key=false, foreign_key_table_name=nil, not_null=false, unique=false, secure=false, alternate_key=false, calculated=false, desc=nil, index=nil, unique_index=nil, default_value=nil, =nil, override_type=nil) @sequence = sequence @name = name @type = type @override_type = override_type @base_type = get_base_type(@type) @primary_key = primary_key @foreign_key = foreign_key @foreign_key_table_name = foreign_key_table_name @not_null = not_null @unique = unique @secure = secure @alternate_key = alternate_key @calculated = calculated @desc = desc @index = index @unique_index = unique_index @default_value = default_value @tags = @is_audit_column = audit_column_names.include? name end |
Instance Attribute Details
#base_type ⇒ Object (readonly)
Returns the value of attribute base_type.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def base_type @base_type end |
#foreign_key_table_name ⇒ Object (readonly)
Returns the value of attribute foreign_key_table_name.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def foreign_key_table_name @foreign_key_table_name end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def name @name end |
#override_type ⇒ Object (readonly)
Returns the value of attribute override_type.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def override_type @override_type end |
#sequence ⇒ Object (readonly)
Returns the value of attribute sequence.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def sequence @sequence end |
#tags ⇒ Object (readonly)
Returns the value of attribute tags.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def @tags end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
6 7 8 |
# File 'lib/jungle_path/db_model/column.rb', line 6 def type @type end |
Class Method Details
.get_column_def_columns(column_definition, sequence) ⇒ Object
100 101 102 103 104 105 106 107 |
# File 'lib/jungle_path/db_model/column.rb', line 100 def self.get_column_def_columns(column_definition, sequence) return audit_key(sequence) if column_definition.length == 1 and column_definition[0] == :audit_key return audit_user(sequence) if column_definition.length == 1 and column_definition[0] == :audit_user return killable(sequence) if column_definition.length == 1 and column_definition[0] == :killable return verification(sequence) if column_definition.length == 1 and column_definition[0] == :verification return audit_data(sequence) if column_definition.length == 1 and column_definition[0] == :audit_data normal(column_definition, (sequence)) end |
Instance Method Details
#alternate_key? ⇒ Boolean
33 34 35 |
# File 'lib/jungle_path/db_model/column.rb', line 33 def alternate_key? @alternate_key end |
#audit_column_names ⇒ Object
61 62 63 |
# File 'lib/jungle_path/db_model/column.rb', line 61 def audit_column_names [:created_at, :updated_at, :created_by_key_id, :created_by_user_id, :updated_by_key_id, :updated_by_user_id].to_set end |
#calculated=(value) ⇒ Object
49 50 51 |
# File 'lib/jungle_path/db_model/column.rb', line 49 def calculated=(value) @calculated = value end |
#calculated? ⇒ Boolean
45 46 47 |
# File 'lib/jungle_path/db_model/column.rb', line 45 def calculated? @calculated end |
#default_value ⇒ Object
96 97 98 |
# File 'lib/jungle_path/db_model/column.rb', line 96 def default_value @default_value end |
#desc ⇒ Object
84 85 86 |
# File 'lib/jungle_path/db_model/column.rb', line 84 def desc @desc end |
#foreign_key? ⇒ Boolean
37 38 39 |
# File 'lib/jungle_path/db_model/column.rb', line 37 def foreign_key? @foreign_key end |
#index ⇒ Object
88 89 90 |
# File 'lib/jungle_path/db_model/column.rb', line 88 def index @index end |
#is_audit_column? ⇒ Boolean
65 66 67 |
# File 'lib/jungle_path/db_model/column.rb', line 65 def is_audit_column? @is_audit_column end |
#not_null? ⇒ Boolean
41 42 43 |
# File 'lib/jungle_path/db_model/column.rb', line 41 def not_null? @not_null end |
#primary_key? ⇒ Boolean
29 30 31 |
# File 'lib/jungle_path/db_model/column.rb', line 29 def primary_key? @primary_key end |
#ruby_type ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/jungle_path/db_model/column.rb', line 69 def ruby_type return Integer if @type == :foreign_key return Integer if @type == :primary_key return String if @type == :string return Integer if @type == :integer return DateTime if @type == :timestamp return DateTime if @type == :timestamp_local return TrueClass if @type == :boolean return Date if @type == :date return String if @type == :json return String if @type == :jsonb return Float if @type == :float nil end |
#secure? ⇒ Boolean
57 58 59 |
# File 'lib/jungle_path/db_model/column.rb', line 57 def secure? @secure end |
#unique? ⇒ Boolean
53 54 55 |
# File 'lib/jungle_path/db_model/column.rb', line 53 def unique? @unique end |
#unique_index ⇒ Object
92 93 94 |
# File 'lib/jungle_path/db_model/column.rb', line 92 def unique_index @unique_index end |