class Table
Attributes
columns[RW]
id[RW]
name[RW]
opts[RW]
perms_for_user[RW]
Public Class Methods
new()
click to toggle source
# File lib/tasks/db.rb, line 346 def initialize() @columns = [] end
Public Instance Methods
grant(*args, to: nil)
click to toggle source
# File lib/tasks/db.rb, line 350 def grant *args, to: nil to = $db_username if to.nil? $check_perms_for.add(to) args.each do |arg| @perms_for_user[to] |= check_perm(arg) end end
method_missing(method_sym, *arguments, &block)
click to toggle source
# File lib/tasks/db.rb, line 366 def method_missing(method_sym, *arguments, &block) c = Column.new c.type = method_sym.to_s c.name = arguments[0] c.opts = arguments[1] if c.opts c.opts[:default] = normalize_default(c.opts[:default]) if c.opts[:default].present? c.default = c.opts[:default] c.null = c.opts[:null] aka = c.opts[:aka] if !aka.nil? if aka.respond_to?('each') c.akas = aka else c.akas = [aka] end end fk = c.opts.delete(:fk) if fk.present? if fk.respond_to?('each') add_foreign_key self.name, fk[0], column: c.name, primary_key: fk[1] else add_foreign_key self.name, fk, column: c.name end end else c.opts = {} end @columns.append c end
revoke(*args, from: nil)
click to toggle source
# File lib/tasks/db.rb, line 358 def revoke *args, from: nil from = $db_username if from.nil? $check_perms_for.add(from) args.each do |arg| @perms_for_user[from] -= check_perm(arg) end end