Module: RDBr::Web::IdentifierValueHelpers

Included in:
Helpers
Defined in:
lib/rdbr/web/identifier_value_helpers.rb

Constant Summary collapse

IDENTIFIER_TYPES =
%w[uuid uniqueidentifier].freeze
IDENTIFIER_NAMES =
%w[uuid uid guid].freeze

Instance Method Summary collapse

Instance Method Details

#identifier_column?(column) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
# File 'lib/rdbr/web/identifier_value_helpers.rb', line 7

def identifier_column?(column)
  type = column.logical_type.to_s.downcase
  sql_type = column.sql_type.to_s.downcase
  name_parts = column.name.gsub(/([a-z\d])([A-Z])/, '\\1_\\2').downcase.split(/[^a-z0-9]+/)
  IDENTIFIER_TYPES.include?(type) || sql_type.match?(/\b(?:uuid|uniqueidentifier)\b/) ||
    name_parts.any?{|part| IDENTIFIER_NAMES.include?(part) }
end

#render_identifier_controls(value) ⇒ Object



15
16
17
# File 'lib/rdbr/web/identifier_value_helpers.rb', line 15

def render_identifier_controls(value)
  render_deferred_value(value, qualifier: 'identifier')
end