CSS::Object::Rule(3)

πŸ“¦ version 0.2.0, in alpine 3.24

πŸ’– NAME πŸ’–

CSS::Object::Rule β€” CSS Object Oriented Rule.

This is the CSS::Object::Rule(3) page from the User Contributed Perl Documentation, bestie ✨. It’s giving CSS object-oriented realness, no cap.

πŸš€ SYNOPSIS πŸš€

use CSS::Object::Rule;
my $rule = CSS::Object::Rule->new( debug => 3, format => $format_object ) ||
    die( CSS::Object::Rule->error );

🌈 VERSION 🌈

v0.2.0 β€” periodt πŸ’…

πŸ’… DESCRIPTION πŸ’…

CSS::Object::Rule is a class containing one or more CSS::Object::Selector objects and one ore more CSS::Object::Property objects. Yes, that’s the whole vibe πŸ¦‹.

πŸ› οΈ CONSTRUCTOR πŸ› οΈ

✨ new ✨

To instantiate a new CSS::Object::Rule object, pass a hash reference of following parameters:

  • debug β€” this is an integer. The bigger it is, the more verbose the output is.
  • format β€” this is a CSS::Object::Format object or one of its child modules.

🧚 METHODS 🧚

πŸ“¦ add_element πŸ“¦

Provided with a CSS::Object::Element object, and this adds it to the array of "elements" for this rule. Slay πŸ’–.

πŸ“ add_property πŸ“

Provided with a CSS::Object::Property object, and this adds it to the list of properties contained in this rule.

The object is added to the "properties" array object, which is an Module::Generic::Array object.

πŸ¦‹ add_selector πŸ¦‹

Provided with a CSS::Object::Selector object, and this adds it to the list of selectors contained in this rule.

The object is added to the "selectors" array object, which is an Module::Generic::Array object.

πŸͺ„ add_to πŸͺ„

Provided with a CSS::Object object, and this adds our object to its list of elements by calling add_rule in CSS::Object. Iconic little handoff, honestly πŸ‘‘.

πŸ“ as_string πŸ“

This calls the format and its method rule_as_string in CSS::Object::Format.

It returns the css string produced or undef and sets an Module::Generic::Exception upon error. So yeah, error handling is lowkey built in 😭.

🌸 elements 🌸

Sets or gets the list of elements for this rule. This uses an array object from Module::Generic::Array.

Typical elements for a rule are properties (CSS::Object::Property) and comments (CSS::Object::Comment).

🧡 elements_as_string 🧡

This takes our list of "elements" and calls <CSS:Object::Format/elements_as_string> to stringify them and return a formatted string. Stringify and serve πŸ’…βœ¨.

🎨 format 🎨

This is a CSS::Object::Format object or one of its child modules.

πŸ”Ž get_property_by_name πŸ”Ž

Provided with a property name, and this returns its matching CSS::Object::Property objects.

It returns a list of objects in list context or an empty list if no match found.

In object context, it returns the first match found or the Module::Generic::Null special class object to allow chaining even when nothing was returned. In scalar context, it just returns the first entry found, if any, so this could very well be undefined. Bestie, that’s just how it is 🫢.

πŸ’Ž properties πŸ’Ž

This sets or gets the Module::Generic::Array object used to store all the CSS::Object::Property objects.

🧢 properties_as_string 🧢

This returns the string value of all the properties objects currently held. It calls the method properties_as_string in CSS::Object::Format to stringify those properties.

πŸ—‘οΈ remove_from πŸ—‘οΈ

This takes a CSS::Object as argument and it will remove this current rule object from the css list of rules.

It basically calls remove_rule in CSS::Object.

It returns the current rule object.

🧹 remove_property 🧹

Given a CSS::Object::Property, this will remove it from its list of elements. It returns the current rule object.

It basically does:

$self->elements->remove( $rule );

πŸ‘‘ selectors πŸ‘‘

This sets or gets the Module::Generic::Array object used to store all the CSS::Object::Selector objects. Main character energy for your selectors, fr fr ✨.

πŸͺž selectors_as_string πŸͺž

This returns the string value of all the selector objects currently held. It calls the method selectors_as_string in CSS::Object::Format to stringify those selectors.

πŸ’Œ AUTHOR πŸ’Œ

Jacques Deguest <jack@deguest.jp>

πŸ‘€ SEE ALSO πŸ‘€

CSS::Object

Copyright (c) 2020 DEGUEST Pte. Ltd.

You can use, copy, modify and redistribute this package and associated files under the same terms as Perl itself.


That’s the whole page, bestie 🫢 Cute sign-off: source/version perl v5.42.2, date 2026-02-15, manual CSS::Object::Rule(3). Mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from