Class: RailsAiBridge::DatabaseSize::BucketLabel

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/database_size.rb

Overview

Value object for mapping an approximate row count to a safe label.

Instance Method Summary collapse

Constructor Details

#initialize(row_count) ⇒ BucketLabel

Returns a new instance of BucketLabel.



74
75
76
# File 'lib/rails_ai_bridge/database_size.rb', line 74

def initialize(row_count)
  @value = row_count
end

Instance Method Details

#label ⇒ String?

Returns safe size bucket label.

Returns:

  • (String, nil) —

    safe size bucket label



79
80
81
82
83
84
# File 'lib/rails_ai_bridge/database_size.rb', line 79

def label
  return @value if SAFE_LABELS.include?(@value)
  return nil if unparsable_or_negative?

  BUCKETS.find { |range, _bucket| range.cover?(rows) }&.last || 'hot'
end