Class: Axlsx::App

Inherits:
Object
  • Object
show all
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

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)


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

def initialize(options={})
  options.each do |name, value|
    self.send("#{name}=", value) if self.respond_to? "#{name}="
  end
end

Instance Attribute Details

#app_versionString Also known as: AppVersion

Returns The version of the application.

Returns:

  • (String)

    The version of the application.



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

def app_version
  @app_version
end

#applicationString (readonly) Also known as: Applicatoin

Returns The name of the application.

Returns:

  • (String)

    The name of the application



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

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.



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

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.



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

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.



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

def company
  @company
end

#doc_securityInteger Also known as: DocSecurity

Returns Document security.

Returns:

  • (Integer)

    Document security



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

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.



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

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.



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

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.



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

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.



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

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.



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

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



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

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.



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

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.



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

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.



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

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



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

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.



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

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.



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

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.



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

def shared_doc
  @shared_doc
end

#slidesIntger Also known as: Slides

Returns The number of slides in the document.

Returns:

  • (Intger)

    The number of slides in the document.



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

def slides
  @slides
end

#templateString Also known as: Template

Returns The name of the document template.

Returns:

  • (String)

    The name of the document template.



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

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.



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

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.



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

def words
  @words
end

Instance Method Details

#to_xml_string(str = '') ⇒ String

Serialize the app.xml document

Returns:

  • (String)


223
224
225
226
227
228
# File 'lib/axlsx/doc_props/app.rb', line 223

def to_xml_string(str = '')
  str << '<?xml version="1.0" encoding="UTF-8"?>'
  str << '<Properties xmlns="' << APP_NS << '" xmlns:vt="' << APP_NS_VT << '">'
  str << instance_values.map { |key, value| '<' << Axlsx.camel(key) << '>' << value.to_s << '</' << Axlsx.camel(key) << '>' }.join
  str << '</Properties>'
end