Module: Bloomy::Utilities::Validation

Included in:
Goal, Headline, Issue, Meeting, Todo
Defined in:
lib/bloomy/utils/validation.rb

Overview

Provides input validation helpers for all operations.

Instance Method Summary collapse

Instance Method Details

#validate_id!(id, context: "id") ⇒ Object

Validates that an ID is a positive integer

Examples:

validate_id!(123)           # passes
validate_id!(0)             # raises ArgumentError
validate_id!(-1)            # raises ArgumentError
validate_id!("abc")         # raises ArgumentError

Parameters:

  • id (Object)

    the ID to validate

  • context (String) (defaults to: "id")

    the context for error messages (default: “id”)

Raises:

  • (ArgumentError)

    if ID is not a positive integer



31
32
33
# File 'lib/bloomy/utils/validation.rb', line 31

def validate_id!(id, context: "id")
  raise ArgumentError, "#{context} must be a positive integer" unless id.is_a?(Integer) && id > 0
end

#validate_title!(title, context: "title") ⇒ Object

Validates that a title is present and not empty

Examples:

validate_title!("My Todo")  # passes
validate_title!(nil)        # raises ArgumentError
validate_title!("")         # raises ArgumentError

Parameters:

  • title (String, nil)

    the title to validate

  • context (String) (defaults to: "title")

    the context for error messages (default: “title”)

Raises:

  • (ArgumentError)

    if title is nil or empty



16
17
18
19
# File 'lib/bloomy/utils/validation.rb', line 16

def validate_title!(title, context: "title")
  raise ArgumentError, "#{context} cannot be nil" if title.nil?
  raise ArgumentError, "#{context} cannot be empty" if title.to_s.strip.empty?
end