Class: Dbtools::Database::Column

Inherits:
Object
  • Object
show all
Defined in:
lib/dbtools/database/database_data.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, table_name, schema_name, data_type) ⇒ Column

Returns a new instance of Column.



117
118
119
120
121
122
123
124
125
# File 'lib/dbtools/database/database_data.rb', line 117

def initialize(name, table_name, schema_name, data_type)
  @name = name
  @full_name = "#{schema_name}.#{table_name}.#{self.name}"
  @total_entries = 0
  @missing_entries = 0
  @distinct_entries = 0
  @distinct_lower_entries = 0
  @data_type = data_type
end

Instance Attribute Details

#data_typeObject (readonly)

Returns the value of attribute data_type.



114
115
116
# File 'lib/dbtools/database/database_data.rb', line 114

def data_type
  @data_type
end

#distinct_entriesObject

Returns the value of attribute distinct_entries.



115
116
117
# File 'lib/dbtools/database/database_data.rb', line 115

def distinct_entries
  @distinct_entries
end

#distinct_lower_entriesObject

Returns the value of attribute distinct_lower_entries.



115
116
117
# File 'lib/dbtools/database/database_data.rb', line 115

def distinct_lower_entries
  @distinct_lower_entries
end

#full_nameObject (readonly)

Returns the value of attribute full_name.



114
115
116
# File 'lib/dbtools/database/database_data.rb', line 114

def full_name
  @full_name
end

#missing_entriesObject

Returns the value of attribute missing_entries.



115
116
117
# File 'lib/dbtools/database/database_data.rb', line 115

def missing_entries
  @missing_entries
end

#nameObject (readonly)

Put quotes around name to avoid casing problems.



138
139
140
# File 'lib/dbtools/database/database_data.rb', line 138

def name
  @name
end

#total_entriesObject

Returns the value of attribute total_entries.



115
116
117
# File 'lib/dbtools/database/database_data.rb', line 115

def total_entries
  @total_entries
end

Instance Method Details

#not_emptyObject



127
128
129
130
131
132
133
134
135
# File 'lib/dbtools/database/database_data.rb', line 127

def not_empty
  statement = case @data_type
                when 'character varying', 'varchar'
                  "#{full_name} IS NULL OR #{full_name} = \'\'"
                else
                  "#{full_name} IS NULL"
              end
  return statement
end

#to_sObject



142
143
144
# File 'lib/dbtools/database/database_data.rb', line 142

def to_s
  return "  - #{@name.ljust(40)}: \t #{missing_entries}, #{total_entries}"
end