Class: Uniword::Styles::CharacterStyleDefinition
- Inherits:
-
StyleDefinition
- Object
- StyleDefinition
- Uniword::Styles::CharacterStyleDefinition
- Defined in:
- lib/uniword/wordprocessingml/styles/character_style_definition.rb
Overview
Character (run) style definition
Responsibility: Hold character-specific style properties Single Responsibility: Character style configuration only
Defines formatting properties for text runs including font, size, color, bold, italic, underline, etc.
Instance Attribute Summary collapse
-
#run_properties ⇒ Object
readonly
Returns the value of attribute run_properties.
Attributes inherited from StyleDefinition
Instance Method Summary collapse
-
#initialize(config) ⇒ CharacterStyleDefinition
constructor
A new instance of CharacterStyleDefinition.
-
#properties ⇒ Object
Character styles don’t have paragraph properties.
-
#resolve_inheritance(library = nil) ⇒ Hash
Resolve inherited run properties.
Constructor Details
#initialize(config) ⇒ CharacterStyleDefinition
Returns a new instance of CharacterStyleDefinition.
15 16 17 18 |
# File 'lib/uniword/wordprocessingml/styles/character_style_definition.rb', line 15 def initialize(config) super @run_properties = config[:run_properties] || {} end |
Instance Attribute Details
#run_properties ⇒ Object (readonly)
Returns the value of attribute run_properties.
13 14 15 |
# File 'lib/uniword/wordprocessingml/styles/character_style_definition.rb', line 13 def run_properties @run_properties end |
Instance Method Details
#properties ⇒ Object
Character styles don’t have paragraph properties
34 35 36 |
# File 'lib/uniword/wordprocessingml/styles/character_style_definition.rb', line 34 def properties {} end |
#resolve_inheritance(library = nil) ⇒ Hash
Resolve inherited run properties
24 25 26 27 28 29 30 31 |
# File 'lib/uniword/wordprocessingml/styles/character_style_definition.rb', line 24 def resolve_inheritance(library = nil) return @run_properties unless @base_style && library base_def = library.character_style(@base_style) base_props = base_def.resolve_inheritance(library) merge_properties(base_props, @run_properties) end |