NAME

CSS::Object::Rule - CSS Object Oriented Rule

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

DESCRIPTION

CSS::Object::Rule a class containing one or more CSS::Object::Selector objects and one ore more CSS::Object::Property objects.

CONSTRUCTOR

new

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

debug

This is an integer. The bigger it is and the more verbose is the output.

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 add it to the array of "elements" for this rule.

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 add our object to its list of elements by calling "add_rule" in CSS::Object

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.

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 call CSS:Object::Format/elements_as_string to stringify them and return a formatted string.

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.

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.

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 & LICENSE

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.