Module: ActiveRecord::ConnectionAdapters::Peasys::Quoting::ClassMethods
- Defined in:
- lib/active_record/connection_adapters/peasys/quoting.rb
Overview
:nodoc:
Instance Method Summary collapse
- #column_name_matcher ⇒ Object
- #column_name_with_order_matcher ⇒ Object
- #quote_column_name(name) ⇒ Object
- #quote_table_name(name) ⇒ Object
Instance Method Details
#column_name_matcher ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/active_record/connection_adapters/peasys/quoting.rb', line 13 def column_name_matcher / \A ( (?: # "TABLE"."COLUMN" | function(one or two args) ((?:\w+\.|"\w+"\.)?(?:\w+|"\w+") | \w+\((?:|\g<2>)\)) ) (?:(?:\s+AS)?\s+(?:\w+|"\w+"))? ) (?:\s*,\s*\g<1>)* \z /ix end |
#column_name_with_order_matcher ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/active_record/connection_adapters/peasys/quoting.rb', line 28 def column_name_with_order_matcher / \A ( (?: ((?:\w+\.|"\w+"\.)?(?:\w+|"\w+") | \w+\((?:|\g<2>)\)) ) (?:\s+ASC|\s+DESC)? (?:\s+NULLS\s+(?:FIRST|LAST))? ) (?:\s*,\s*\g<1>)* \z /ix end |
#quote_column_name(name) ⇒ Object
43 44 45 |
# File 'lib/active_record/connection_adapters/peasys/quoting.rb', line 43 def quote_column_name(name) QUOTED_COLUMN_NAMES[name] ||= %("#{name.to_s.gsub('"', '""').upcase}").freeze end |
#quote_table_name(name) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/active_record/connection_adapters/peasys/quoting.rb', line 47 def quote_table_name(name) QUOTED_TABLE_NAMES[name] ||= begin parts = name.to_s.split(".") parts.map { |p| %("#{p.gsub('"', '""').upcase}") }.join(".").freeze end end |