Class: ActiveRecord::ConnectionAdapters::SQLServer::Utils::Name
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::SQLServer::Utils::Name
- Defined in:
- lib/active_record/connection_adapters/sqlserver/utils.rb
Overview
Value object to return identifiers from SQL Server names bit.ly/1CZ3EiL Inspiried from Rails PostgreSQL::Name adapter object in their own Utils.
Constant Summary collapse
- SEPARATOR =
"."
- UNQUOTED_SCANNER =
/\]?\./
- QUOTED_SCANNER =
/\A\[.*?\]\./
- QUOTED_CHECKER =
/\A\[/
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
-
#object ⇒ Object
readonly
Returns the value of attribute object.
-
#raw_name ⇒ Object
readonly
Returns the value of attribute raw_name.
-
#schema ⇒ Object
readonly
Returns the value of attribute schema.
-
#server ⇒ Object
readonly
Returns the value of attribute server.
Instance Method Summary collapse
- #==(o) ⇒ Object (also: #eql?)
- #database_quoted ⇒ Object
- #fully_qualified? ⇒ Boolean
- #fully_qualified_database_quoted ⇒ Object
- #hash ⇒ Object
-
#initialize(name) ⇒ Name
constructor
A new instance of Name.
- #object_quoted ⇒ Object
- #quoted ⇒ Object
- #quoted_raw ⇒ Object
- #schema_quoted ⇒ Object
- #server_quoted ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(name) ⇒ Name
Returns a new instance of Name.
21 22 23 24 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 21 def initialize(name) @raw_name = name.to_s parse_raw_name end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
18 19 20 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 18 def database @database end |
#object ⇒ Object (readonly)
Returns the value of attribute object.
18 19 20 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 18 def object @object end |
#raw_name ⇒ Object (readonly)
Returns the value of attribute raw_name.
19 20 21 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 19 def raw_name @raw_name end |
#schema ⇒ Object (readonly)
Returns the value of attribute schema.
18 19 20 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 18 def schema @schema end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
18 19 20 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 18 def server @server end |
Instance Method Details
#==(o) ⇒ Object Also known as: eql?
62 63 64 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 62 def ==(o) o.class == self.class && o.parts == parts end |
#database_quoted ⇒ Object
34 35 36 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 34 def database_quoted database ? quote(database) : database end |
#fully_qualified? ⇒ Boolean
46 47 48 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 46 def fully_qualified? parts.compact.size == 4 end |
#fully_qualified_database_quoted ⇒ Object
42 43 44 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 42 def fully_qualified_database_quoted [server_quoted, database_quoted].compact.join(SEPARATOR) end |
#hash ⇒ Object
67 68 69 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 67 def hash parts.hash end |
#object_quoted ⇒ Object
26 27 28 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 26 def object_quoted quote object end |
#quoted ⇒ Object
54 55 56 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 54 def quoted parts.map{ |p| quote(p) if p }.join SEPARATOR end |
#quoted_raw ⇒ Object
58 59 60 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 58 def quoted_raw quote @raw_name end |
#schema_quoted ⇒ Object
30 31 32 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 30 def schema_quoted schema ? quote(schema) : schema end |
#server_quoted ⇒ Object
38 39 40 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 38 def server_quoted server ? quote(server) : server end |
#to_s ⇒ Object
50 51 52 |
# File 'lib/active_record/connection_adapters/sqlserver/utils.rb', line 50 def to_s quoted end |