Module: UnitMeasurements::Rails::ActiveRecord::Time

Defined in:
lib/unit_measurements/rails/unit_groups/time.rb

Overview

The UnitMeasurements::Rails::ActiveRecord::Time module provides a convenient way to define time-measured attributes in ActiveRecord models.

It acts as a wrapper for the measured method, simplifying the definition of time-measured attributes without directly invoking the measured method.

Author:

Since:

  • 1.3.0

Class Method Summary collapse

Class Method Details

.measured_time(*measured_attrs, **options) ⇒ void

This method returns an undefined value.

Defines time-measured attributes in the ActiveRecord model.

This method serves as a wrapper around the measured method and allows easy definition of time-measured attributes by accepting an array of attribute names along with their options.

Examples:

Define single time-measured attribute:

class ProjectTimeline < ActiveRecord::Base
  measured_time :duration
end

Define multiple time-measured attributes:

class ProjectTimeline < ActiveRecord::Base
  measured_time :setup_time, :processing_time
end

Parameters:

  • measured_attrs (Array<String|Symbol>)

    An array of the names of time-measured attributes.

  • options (Hash)

    A customizable set of options

Options Hash (**options):

  • :quantity_attribute_name (String|Symbol)

    The name of the quantity attribute.

  • :unit_attribute_name (String|Symbol)

    The name of the unit attribute.

See Also:

Author:

Since:

  • 1.3.0



42
43
44
# File 'lib/unit_measurements/rails/unit_groups/time.rb', line 42

def measured_time(*measured_attrs, **options)
  measured(UnitMeasurements::Time, *measured_attrs, **options)
end