Class: Mkxms::Mssql::Role
- Inherits:
-
Object
- Object
- Mkxms::Mssql::Role
- Includes:
- ExtendedProperties, Property::Hosting
- Defined in:
- lib/mkxms/mssql/role_handler.rb
Instance Attribute Summary collapse
-
#encompassing_roles ⇒ Object
readonly
Returns the value of attribute encompassing_roles.
-
#name ⇒ Object
Returns the value of attribute name.
-
#owner ⇒ Object
Returns the value of attribute owner.
Instance Method Summary collapse
- #authorization_sql ⇒ Object
- #definition_sql ⇒ Object
-
#initialize(name, owner: nil) ⇒ Role
constructor
A new instance of Role.
- #membership_sql ⇒ Object
- #property_subject_identifiers ⇒ Object
Methods included from ExtendedProperties
Methods included from Property::Hosting
Constructor Details
#initialize(name, owner: nil) ⇒ Role
Returns a new instance of Role.
10 11 12 13 14 |
# File 'lib/mkxms/mssql/role_handler.rb', line 10 def initialize(name, owner: nil) @name = name @owner = owner @encompassing_roles = [] end |
Instance Attribute Details
#encompassing_roles ⇒ Object (readonly)
Returns the value of attribute encompassing_roles.
17 18 19 |
# File 'lib/mkxms/mssql/role_handler.rb', line 17 def encompassing_roles @encompassing_roles end |
#name ⇒ Object
Returns the value of attribute name.
16 17 18 |
# File 'lib/mkxms/mssql/role_handler.rb', line 16 def name @name end |
#owner ⇒ Object
Returns the value of attribute owner.
16 17 18 |
# File 'lib/mkxms/mssql/role_handler.rb', line 16 def owner @owner end |
Instance Method Details
#authorization_sql ⇒ Object
23 24 25 |
# File 'lib/mkxms/mssql/role_handler.rb', line 23 def "ALTER AUTHORIZATION ON ROLE:: #{name} TO #{owner};" if owner end |
#definition_sql ⇒ Object
19 20 21 |
# File 'lib/mkxms/mssql/role_handler.rb', line 19 def definition_sql "CREATE ROLE #{name};" + extended_properties_sql.joined_on_new_lines end |
#membership_sql ⇒ Object
27 28 29 30 31 |
# File 'lib/mkxms/mssql/role_handler.rb', line 27 def membership_sql encompassing_roles.map do |encompassing_role| "EXEC sp_addrolemember '#{Utils.unquoted_name encompassing_role}', '#{Utils.unquoted_name name}';\n" end.join('') end |
#property_subject_identifiers ⇒ Object
33 34 35 |
# File 'lib/mkxms/mssql/role_handler.rb', line 33 def property_subject_identifiers ['USER', Utils.unquoted_name(name)] end |