class DbMeta::Oracle::Grant
Attributes
grantable[R]
grantee[R]
grantor[R]
owner[R]
privilege[R]
table_name[R]
Public Class Methods
new(args = {})
click to toggle source
Calls superclass method
DbMeta::Oracle::Base::new
# File lib/db_meta/oracle/types/grant.rb, line 8 def initialize(args = {}) super(args) @extract_type = :merged end
Public Instance Methods
ddl_drop()
click to toggle source
# File lib/db_meta/oracle/types/grant.rb, line 27 def ddl_drop buffer = "" buffer << ("%-30s" % "-- granted via #{@grantor}: ") if external_grant? buffer << "REVOKE #{"%-18s" % @privilege} ON #{"%-32s" % @table_name} FROM #{@grantee};" buffer end
external_grant?()
click to toggle source
# File lib/db_meta/oracle/types/grant.rb, line 35 def external_grant? @grantee == Connection.instance.username.upcase end
extract(args = {})
click to toggle source
# File lib/db_meta/oracle/types/grant.rb, line 18 def extract(args = {}) buffer = "" buffer << ("%-30s" % "-- granted via #{@grantor}: ") if external_grant? buffer << "GRANT #{"%-18s" % @privilege} ON #{"%-32s" % @table_name} TO #{@grantee}" buffer << " WITH GRANT OPTION" if @grantable == "YES" buffer << ";" buffer end
fetch(args = {})
click to toggle source
# File lib/db_meta/oracle/types/grant.rb, line 13 def fetch(args = {}) # definition is comma seperated in the name to prevent re-fetching table for every grant @grantee, @owner, @table_name, @grantor, @privilege, @grantable = @name.split(",") end
sort_value()
click to toggle source
# File lib/db_meta/oracle/types/grant.rb, line 39 def sort_value return ["2", @grantor, @privilege, @table_name] if external_grant? ["1", @grantee, @privilege, @table_name] end