Module: Sevgi::Standard::Model::SpecialFeDiffuseLighting Private

Defined in:
lib/sevgi/standard/model.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Validates the special feDiffuseLighting content model.

Instance Method Summary collapse

Instance Method Details

#apply(cdata:, elements:) ⇒ nil

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Applies this content model.

Parameters:

  • cdata (String, nil)

    character data content

  • elements (Array<Symbol>)

    child element names

Returns:

  • (nil)

Raises:



77
78
79
80
81
82
83
84
85
86
87
# File 'lib/sevgi/standard/model.rb', line 77

def apply(cdata:, elements:)
  UnallowedCDataError.(element, cdata) if cdata

  unless (filter_light_source_elements = Element.pick(elements, :FilterLightSource)).size == 1
    UnmetConditionError.(element, "Exactly one FilterLightSource element required")
  end

  unless (unallowed = Element.unpick(elements - filter_light_source_elements, :Descriptive)).empty?
    UnallowedElementsError.(element, unallowed)
  end
end