class XMigra::AccessArtifact

Attributes

file_path[RW]
filename_metavariable[RW]

Public Instance Methods

check_existence_sql(for_existence, error_message) click to toggle source
# File lib/xmigra/access_artifact.rb, line 21
def check_existence_sql(for_existence, error_message)
  nil
end
creation_notice() click to toggle source
# File lib/xmigra/access_artifact.rb, line 25
def creation_notice
  nil
end
creation_sql() click to toggle source
# File lib/xmigra/access_artifact.rb, line 29
def creation_sql
  raw = begin
    if metavar = filename_metavariable
      @definition.gsub(metavar) {|m| self.name}
    else
      @definition
    end
  end
  
  if Plugin.active
    raw.dup.tap do |sql|
      Plugin.active.amend_source_sql(sql)
    end
  else
    raw
  end
end
ddl_block_separator() click to toggle source
# File lib/xmigra/access_artifact.rb, line 17
def ddl_block_separator
  "\n"
end
definition_sql() click to toggle source
# File lib/xmigra/access_artifact.rb, line 5
def definition_sql
  [
    check_existence_sql(false, "%s existed before definition"),
    creation_notice,
    creation_sql + ";",
    check_existence_sql(true, "%s was not created by definition"),
    insert_access_creation_record_sql,
  ].compact.join(ddl_block_separator)
end
insert_access_creation_record_sql() click to toggle source
# File lib/xmigra/access_artifact.rb, line 47
def insert_access_creation_record_sql
  nil
end
printable_type() click to toggle source
# File lib/xmigra/access_artifact.rb, line 51
def printable_type
  self.class.name.split('::').last.scan(/[A-Z]+[a-z]*/).collect {|p| p.downcase}.join(' ')
end