Module: RDBr::Web::RangeValueHelpers

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

Constant Summary collapse

FALLBACK_PREVIEW_LENGTH =
160
RANGE_LABELS =
{
  'daterange' => 'Date range', 'int4range' => 'Integer range', 'int8range' => 'Integer range',
  'numrange' => 'Numeric range', 'tsrange' => 'Timestamp range',
  'tstzrange' => 'Timestamp with time zone range'
}.freeze

Instance Method Summary collapse

Instance Method Details

#deferred_unfamiliar_value?(column, value) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/rdbr/web/range_value_helpers.rb', line 20

def deferred_unfamiliar_value?(column, value)
  unfamiliar_column?(column) && fallback_text(value).length > FALLBACK_PREVIEW_LENGTH
end

#range_column?(column) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/rdbr/web/range_value_helpers.rb', line 11

def range_column?(column)
  range_type(column).match?(/(?:multi)?range\z/i)
end

#render_range_value(column, value) ⇒ Object



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

def render_range_value(column, value)
  text = range_text(value)
  render_deferred_value(text, qualifier: 'range', summary: range_summary(column, value, text))
end

#render_unfamiliar_value(column, value) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/rdbr/web/range_value_helpers.rb', line 24

def render_unfamiliar_value(column, value)
  text = fallback_text(value)
  type = column.sql_type.to_s.empty? ? column.logical_type : column.sql_type
  render_deferred_value(
    text, qualifier: 'unfamiliar', summary: "#{type} ยท #{text.length} characters"
  )
end