Class: Axlsx::App

Inherits:
Object
  • Object
show all
Includes:
OptionsParser
Defined in:
lib/axlsx/doc_props/app.rb

Overview

Note:

Support is not implemented for the following complex types:

HeadingPairs (VectorVariant), TitlesOfParts (VectorLpstr), HLinks (VectorVariant), DigSig (DigSigBlob)

App represents the app.xml document. The attributes for this object are primarily managed by the application the end user uses to edit the document. None of the attributes are required to serialize a valid xlsx object.

See Also:

  • shared-documentPropertiesExtendedshared-documentPropertiesExtended.xsd

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from OptionsParser

#parse_options

Constructor Details

#initialize(options = {}) ⇒ App

Creates an App object

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • template (String)
  • manager (String)
  • pages (Integer)
  • words (Integer)
  • characters (Integer)
  • presentation_format (String)
  • lines (Integer)
  • paragraphs (Integer)
  • slides (Integer)
  • notes (Integer)
  • total_time (Integer)
  • hidden_slides (Integer)
  • m_m_clips (Integer)
  • scale_crop (Boolean)
  • links_up_to_date (Boolean)
  • characters_with_spaces (Integer)
  • share_doc (Boolean)
  • hyperlink_base (String)
  • hyperlinks_changed (String)
  • application (String)
  • app_version (String)
  • doc_security (Integer)


38
39
40
# File 'lib/axlsx/doc_props/app.rb', line 38

def initialize(options = {})
  parse_options options
end

Instance Attribute Details

#app_versionString Also known as: AppVersion

Returns The version of the application.

Returns:

  • (String)

    The version of the application.



127
128
129
# File 'lib/axlsx/doc_props/app.rb', line 127

def app_version
  @app_version
end

#applicationString (readonly) Also known as: Application

Returns The name of the application.

Returns:

  • (String)

    The name of the application



123
124
125
# File 'lib/axlsx/doc_props/app.rb', line 123

def application
  @application
end

#charactersInteger Also known as: Characters

Returns The number of characters in the document.

Returns:

  • (Integer)

    The number of characters in the document.



63
64
65
# File 'lib/axlsx/doc_props/app.rb', line 63

def characters
  @characters
end

#characters_with_spacesInteger Also known as: CharactersWithSpaces

Returns The number of characters in the document including spaces.

Returns:

  • (Integer)

    The number of characters in the document including spaces.



107
108
109
# File 'lib/axlsx/doc_props/app.rb', line 107

def characters_with_spaces
  @characters_with_spaces
end

#companyString Also known as: Company

Returns The name of the company generating the document.

Returns:

  • (String)

    The name of the company generating the document.



51
52
53
# File 'lib/axlsx/doc_props/app.rb', line 51

def company
  @company
end

#doc_securityInteger Also known as: DocSecurity

Returns Document security.

Returns:

  • (Integer)

    Document security



131
132
133
# File 'lib/axlsx/doc_props/app.rb', line 131

def doc_security
  @doc_security
end

#hidden_slidesInteger Also known as: HiddenSlides

Returns The number of hidden slides.

Returns:

  • (Integer)

    The number of hidden slides.



91
92
93
# File 'lib/axlsx/doc_props/app.rb', line 91

def hidden_slides
  @hidden_slides
end

Returns The base for hyper links in the document.

Returns:

  • (String)

    The base for hyper links in the document.



115
116
117
# File 'lib/axlsx/doc_props/app.rb', line 115

def hyperlink_base
  @hyperlink_base
end

Returns Indicates that the hyper links in the document have been changed.

Returns:

  • (Boolean)

    Indicates that the hyper links in the document have been changed.



119
120
121
# File 'lib/axlsx/doc_props/app.rb', line 119

def hyperlinks_changed
  @hyperlinks_changed
end

#linesInteger Also known as: Lines

Returns The number of lines in the document.

Returns:

  • (Integer)

    The number of lines in the document.



71
72
73
# File 'lib/axlsx/doc_props/app.rb', line 71

def lines
  @lines
end

Returns The links in the document are up to date.

Returns:

  • (Boolean)

    The links in the document are up to date.



103
104
105
# File 'lib/axlsx/doc_props/app.rb', line 103

def links_up_to_date
  @links_up_to_date
end

#m_m_clipsInteger Also known as: MMClips

Returns The total number multimedia clips.

Returns:

  • (Integer)

    The total number multimedia clips



95
96
97
# File 'lib/axlsx/doc_props/app.rb', line 95

def m_m_clips
  @m_m_clips
end

#managerString Also known as: Manager

Returns The name of the manager for the document.

Returns:

  • (String)

    The name of the manager for the document.



47
48
49
# File 'lib/axlsx/doc_props/app.rb', line 47

def manager
  @manager
end

#notesInteger Also known as: Notes

Returns The number of slides that have notes.

Returns:

  • (Integer)

    The number of slides that have notes.



83
84
85
# File 'lib/axlsx/doc_props/app.rb', line 83

def notes
  @notes
end

#pagesInteger Also known as: Pages

Returns The number of pages in the document.

Returns:

  • (Integer)

    The number of pages in the document.



55
56
57
# File 'lib/axlsx/doc_props/app.rb', line 55

def pages
  @pages
end

#paragraphsInteger Also known as: Paragraphs

Returns The number of paragraphs in the document.

Returns:

  • (Integer)

    The number of paragraphs in the document



75
76
77
# File 'lib/axlsx/doc_props/app.rb', line 75

def paragraphs
  @paragraphs
end

#presentation_formatString Also known as: PresentationFormat

Returns The intended format of the presentation.

Returns:

  • (String)

    The intended format of the presentation.



67
68
69
# File 'lib/axlsx/doc_props/app.rb', line 67

def presentation_format
  @presentation_format
end

#scale_cropBoolean Also known as: ScaleCrop

Returns The display mode for the document thumbnail.

Returns:

  • (Boolean)

    The display mode for the document thumbnail.



99
100
101
# File 'lib/axlsx/doc_props/app.rb', line 99

def scale_crop
  @scale_crop
end

#shared_docBoolean Also known as: SharedDoc

Returns Indicates if the document is shared.

Returns:

  • (Boolean)

    Indicates if the document is shared.



111
112
113
# File 'lib/axlsx/doc_props/app.rb', line 111

def shared_doc
  @shared_doc
end

#slidesInteger Also known as: Slides

Returns The number of slides in the document.

Returns:

  • (Integer)

    The number of slides in the document.



79
80
81
# File 'lib/axlsx/doc_props/app.rb', line 79

def slides
  @slides
end

#templateString Also known as: Template

Returns The name of the document template.

Returns:

  • (String)

    The name of the document template.



43
44
45
# File 'lib/axlsx/doc_props/app.rb', line 43

def template
  @template
end

#total_timeInteger Also known as: TotalTime

Returns The total amount of time spent editing.

Returns:

  • (Integer)

    The total amount of time spent editing.



87
88
89
# File 'lib/axlsx/doc_props/app.rb', line 87

def total_time
  @total_time
end

#wordsInteger Also known as: Words

Returns The number of words in the document.

Returns:

  • (Integer)

    The number of words in the document.



59
60
61
# File 'lib/axlsx/doc_props/app.rb', line 59

def words
  @words
end

Instance Method Details

#to_xml_string(str = +'')) ⇒ String

Serialize the app.xml document

Returns:

  • (String)


289
290
291
292
293
294
295
296
297
# File 'lib/axlsx/doc_props/app.rb', line 289

def to_xml_string(str = +'')
  str << '<?xml version="1.0" encoding="UTF-8"?>'
  str << '<Properties xmlns="' << APP_NS << '" xmlns:vt="' << APP_NS_VT << '">'
  Axlsx.instance_values_for(self).each do |key, value|
    node_name = Axlsx.camel(key)
    str << "<#{node_name}>#{value}</#{node_name}>"
  end
  str << '</Properties>'
end