Class: Uniword::Builder::RunBuilder

Inherits:
BaseBuilder show all
Includes:
HasShading
Defined in:
lib/uniword/builder/run_builder.rb

Overview

Builds and configures Run objects with formatting.

Examples:

Create a formatted run

run = RunBuilder.new.bold.italic.color('FF0000').size(12).build

Wrap an existing run

builder = RunBuilder.from_model(existing_run)
builder.bold.build

Instance Attribute Summary

Attributes inherited from BaseBuilder

#model

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HasShading

#shading

Methods inherited from BaseBuilder

#build, from_model, #initialize

Constructor Details

This class inherits a constructor from Uniword::Builder::BaseBuilder

Class Method Details

.default_model_classObject



16
17
18
# File 'lib/uniword/builder/run_builder.rb', line 16

def self.default_model_class
  Wordprocessingml::Run
end

Instance Method Details

#bold(value = true) ⇒ Object



25
26
27
28
# File 'lib/uniword/builder/run_builder.rb', line 25

def bold(value = true)
  ensure_properties.bold = Properties::Bold.new(value: value)
  self
end

#caps(value = true) ⇒ Object



76
77
78
79
# File 'lib/uniword/builder/run_builder.rb', line 76

def caps(value = true)
  ensure_properties.caps = Properties::Caps.new(value: value)
  self
end

#character_spacing(value) ⇒ Object



116
117
118
119
# File 'lib/uniword/builder/run_builder.rb', line 116

def character_spacing(value)
  ensure_properties.character_spacing = Properties::CharacterSpacing.new(value: value)
  self
end

#color(value) ⇒ Object



41
42
43
44
# File 'lib/uniword/builder/run_builder.rb', line 41

def color(value)
  ensure_properties.color = Properties::ColorValue.new(value: value.to_s)
  self
end

#double_strike(value = true) ⇒ Object



66
67
68
69
# File 'lib/uniword/builder/run_builder.rb', line 66

def double_strike(value = true)
  ensure_properties.double_strike = Properties::DoubleStrike.new(value: value)
  self
end

#drawing(drawing) ⇒ self

Add a Drawing to the run

Parameters:

Returns:

  • (self)


145
146
147
148
# File 'lib/uniword/builder/run_builder.rb', line 145

def drawing(drawing)
  @model.drawings << drawing
  self
end

#emboss(value = true) ⇒ Object



96
97
98
99
# File 'lib/uniword/builder/run_builder.rb', line 96

def emboss(value = true)
  ensure_properties.emboss = Properties::Emboss.new(value: value)
  self
end

#emphasis_mark(value) ⇒ Object



131
132
133
134
# File 'lib/uniword/builder/run_builder.rb', line 131

def emphasis_mark(value)
  ensure_properties.emphasis_mark = Properties::EmphasisMark.new(value: value)
  self
end

#font(value) ⇒ Object



46
47
48
49
# File 'lib/uniword/builder/run_builder.rb', line 46

def font(value)
  ensure_properties.font = value
  self
end

#highlight(value) ⇒ Object



56
57
58
59
# File 'lib/uniword/builder/run_builder.rb', line 56

def highlight(value)
  ensure_properties.highlight = Properties::Highlight.new(value: value.to_s)
  self
end

#imprint(value = true) ⇒ Object



101
102
103
104
# File 'lib/uniword/builder/run_builder.rb', line 101

def imprint(value = true)
  ensure_properties.imprint = Properties::Imprint.new(value: value)
  self
end

#italic(value = true) ⇒ Object



30
31
32
33
# File 'lib/uniword/builder/run_builder.rb', line 30

def italic(value = true)
  ensure_properties.italic = Properties::Italic.new(value: value)
  self
end

#kerning(value) ⇒ Object



111
112
113
114
# File 'lib/uniword/builder/run_builder.rb', line 111

def kerning(value)
  ensure_properties.kerning = Properties::Kerning.new(value: value)
  self
end

#language(code) ⇒ Object



126
127
128
129
# File 'lib/uniword/builder/run_builder.rb', line 126

def language(code)
  ensure_properties.language = Properties::Language.new(val: code)
  self
end

#outline(value = true) ⇒ Object



106
107
108
109
# File 'lib/uniword/builder/run_builder.rb', line 106

def outline(value = true)
  ensure_properties.outline = Properties::Outline.new(value: value)
  self
end

#position(value) ⇒ Object



136
137
138
139
# File 'lib/uniword/builder/run_builder.rb', line 136

def position(value)
  ensure_properties.position = Properties::Position.new(value: value)
  self
end

#shadow(value = true) ⇒ Object



91
92
93
94
# File 'lib/uniword/builder/run_builder.rb', line 91

def shadow(value = true)
  ensure_properties.shadow = Properties::Shadow.new(value: value)
  self
end

#size(points) ⇒ Object



51
52
53
54
# File 'lib/uniword/builder/run_builder.rb', line 51

def size(points)
  ensure_properties.size = Properties::FontSize.new(value: points.to_i * 2)
  self
end

#small_caps(value = true) ⇒ Object



71
72
73
74
# File 'lib/uniword/builder/run_builder.rb', line 71

def small_caps(value = true)
  ensure_properties.small_caps = Properties::SmallCaps.new(value: value)
  self
end

#strike(value = true) ⇒ Object



61
62
63
64
# File 'lib/uniword/builder/run_builder.rb', line 61

def strike(value = true)
  ensure_properties.strike = Properties::Strike.new(value: value)
  self
end

#subscriptObject



86
87
88
89
# File 'lib/uniword/builder/run_builder.rb', line 86

def subscript
  ensure_properties.vertical_align = Properties::VerticalAlign.new(value: "subscript")
  self
end

#superscriptObject



81
82
83
84
# File 'lib/uniword/builder/run_builder.rb', line 81

def superscript
  ensure_properties.vertical_align = Properties::VerticalAlign.new(value: "superscript")
  self
end

#text(value) ⇒ Object



20
21
22
23
# File 'lib/uniword/builder/run_builder.rb', line 20

def text(value)
  @model.text = value
  self
end

#text_expansion(value) ⇒ Object



121
122
123
124
# File 'lib/uniword/builder/run_builder.rb', line 121

def text_expansion(value)
  ensure_properties.width_scale = Properties::WidthScale.new(value: value)
  self
end

#underline(value = "single") ⇒ Object



35
36
37
38
39
# File 'lib/uniword/builder/run_builder.rb', line 35

def underline(value = "single")
  val = value == true ? "single" : value.to_s
  ensure_properties.underline = Properties::Underline.new(value: val)
  self
end