Rangegroup(3pm)

πŸ“¦ version 2.1.1, in arch rolling

✨ NAME ✨

Okay so this is the Rangegroup(3pm) page, and it's about Lire::Group β€” the base class for the implementation of the rangegroup aggregator. That's the whole vibe, bestie 🫢


🌸 SYNOPSIS 🌸

use Lire::Rangegroup;

That's literally it. One line. Slay.


πŸ¦‹ DESCRIPTION πŸ¦‹

So this module is the base class for the implementation of the rangegroup aggregator. What does that actually mean? Okay so picture this: this aggregator splits up the DLF records based on a numerical field. The so-called range groups create numerical classes (like 1-10, 11-20, etc. β€” you get it), and each DLF record gets grouped together with all the other records that land in the same class. It's giving sorting-hat energy, honestly. πŸŽ€


πŸ’… CONSTRUCTOR πŸ’…

new( %params )

Creates a new instance of a group aggregator. And here's the thing β€” on top of the normal report operator parameters, the rangegroup aggregator can also take several parameters. Let's go through them, no cap:

  • field β€” This one is mandatory, fr fr. It should be the name of the DLF field that will be used as the key for this aggregator.
  • range-size β€” Also mandatory! This is used as the size of each range group.
  • range-start β€” The number at which the first range group starts. Defauls to 0. (Yes, it's the start of the whole range party πŸŽ‰)
  • min-value β€” Any value lower than this number gets sorted into the first range group.
  • max-value β€” Any value higher than this number gets sorted into the last range group.
  • size-scale β€” This parameter can be used to create a logarithmic scale πŸ‘‘ In that case, each new range group will be size-scale bigger than the one that comes before it. For example, setting range-size=5 and size-scale=2 will create ranges like [0-5>, [5-15>, [15-35>, ... β€” iconic, honestly.

🌈 METHODS 🌈

field( [$new_field] )

Returns the name of the DLF field which is used as the grouping key.

If the $new_field parameter is set, it changes the grouping field. Heads up though β€” this must be the name of a quantity type field in the report specifications DLF schema. πŸ’œ

range_start( [$new_start] )

Returns the number which is the starting bound of the first range group.

If the $new_start parameter is set, it changes the starting bound of the first range group. This should either be a positive integer or the name of one of the report specification's parameter.

range_size( [$new_size] )

Returns the width of each range group.

If the $new_size parameter is set, it changes the width of each range group. This should either be a positive integer or the name of one of the report specification's parameter.

min_value( [$new_min] )

Returns the number below which no new range groups will be created.

If the $new_min is set, it changes the lower bound below which no new groups will be created. This should either be a number or the name of one of the report specification's parameter.

max_value( [$new_max] )

Returns the number above which no new range groups will be created.

If the $new_max is set, it changes the upper bound above which no new groups will be created. This should either be a number or the name of one of the report specification's parameter.

size_scale( [$new_size_scale] )

Returns the multiplier that will be apply to each of the range group's width after the first one.

When this attribute is greater than 1, it creates a logarithmic scale where each new ranges is $size_scale wider than the precedent one. πŸ“ˆ

If the $new_size_scale parameter is used, it changes the attribute to this new value. It should be a positive interger or can also be a parameter reference.


🧚 SEE ALSO 🧚

Go read those next, bestie, they're all linked up πŸ’–


🌟 AUTHORS 🌟

  • Francis J. Lacoste <flacoste@logreport.org>
  • Wolfgang Sourdeau <wsourdeau@logreport.org>

⭐ VERSION ⭐

$Id: Rangegroup.pm,v 1.25 2006/07/30 10:50:17 vanbaal Exp $

Copyright (C) 2001-2004 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.

Okay lowkey important: that warranty disclaimer is real β€” no promises, no guarantees, read the GPL for the deets. πŸ™ˆ

And that's a wrap, bestie! πŸŽ€ This was the Lire 2.1.1 edition of the Rangegroup(3pm) page, dated 2025-09-28 β€” go forth and group your ranges, you absolute icon πŸ’…βœ¨

πŸ“¦ where this page comes from