class Dbsketch::Model::Index
Attributes
columns[R]
target[R]
Public Class Methods
new(name, target, columns, meaning: nil, comment: nil, dependencies: [])
click to toggle source
Calls superclass method
Dbsketch::Model::Database_Object::new
# File lib/dbsketch/model/index.rb, line 16 def initialize name, target, columns, meaning: nil, comment: nil, dependencies: [] super name, :meaning => meaning, :comment => comment, :dependencies => dependencies @columns = columns.is_a?(Array) ? columns : [columns] ### Preconditions raise ArgumentError, "target is not a Dbsketch::Model::Table or a View" unless target.is_a? Table or target.is_a? View @columns.each_with_index do |column, index| raise ArgumentError, "columns[#{index}] is not a Dbsketch::Model::AbstractColumn" unless column.is_a? AbstractColumn raise ModelError, "computed column #{column.name} is not persisted" if column.is_a? ComputedColumn and not column.persisted end ### @target = target end
Public Instance Methods
has_column?(column_name)
click to toggle source
# File lib/dbsketch/model/index.rb, line 31 def has_column? column_name ### Preconditions raise ArgumentError, "column_name is not a String" unless column_name.is_a? String ### nil != @columns.find { |c| c.name.downcase == column_name.downcase } end