rubyXL 3.4.12 → 3.4.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +2 -1
  3. data/Gemfile +8 -8
  4. data/Gemfile.lock +82 -50
  5. data/README.rdoc +26 -9
  6. data/Rakefile +26 -27
  7. data/VERSION +1 -1
  8. data/lib/rubyXL/cell.rb +2 -4
  9. data/lib/rubyXL/convenience_methods/cell.rb +35 -31
  10. data/lib/rubyXL/convenience_methods/color.rb +6 -8
  11. data/lib/rubyXL/convenience_methods/workbook.rb +9 -4
  12. data/lib/rubyXL/convenience_methods/worksheet.rb +77 -1
  13. data/lib/rubyXL/objects/border.rb +0 -3
  14. data/lib/rubyXL/objects/calculation_chain.rb +2 -2
  15. data/lib/rubyXL/objects/cell_style.rb +1 -3
  16. data/lib/rubyXL/objects/chartsheet.rb +6 -10
  17. data/lib/rubyXL/objects/color.rb +1 -3
  18. data/lib/rubyXL/objects/column_range.rb +0 -3
  19. data/lib/rubyXL/objects/comments.rb +1 -4
  20. data/lib/rubyXL/objects/connection.rb +11 -11
  21. data/lib/rubyXL/objects/container_nodes.rb +1 -5
  22. data/lib/rubyXL/objects/content_types.rb +3 -6
  23. data/lib/rubyXL/objects/data_validation.rb +2 -2
  24. data/lib/rubyXL/objects/document_properties.rb +9 -13
  25. data/lib/rubyXL/objects/extensions.rb +0 -2
  26. data/lib/rubyXL/objects/external_links.rb +29 -7
  27. data/lib/rubyXL/objects/fill.rb +2 -5
  28. data/lib/rubyXL/objects/filters.rb +5 -7
  29. data/lib/rubyXL/objects/font.rb +2 -4
  30. data/lib/rubyXL/objects/formula.rb +3 -5
  31. data/lib/rubyXL/objects/ooxml_object.rb +18 -18
  32. data/lib/rubyXL/objects/query_table.rb +3 -3
  33. data/lib/rubyXL/objects/reference.rb +6 -8
  34. data/lib/rubyXL/objects/relationships.rb +6 -11
  35. data/lib/rubyXL/objects/root.rb +0 -2
  36. data/lib/rubyXL/objects/shared_strings.rb +3 -6
  37. data/lib/rubyXL/objects/sheet_common.rb +1 -3
  38. data/lib/rubyXL/objects/sheet_data.rb +6 -8
  39. data/lib/rubyXL/objects/simple_types.rb +3 -1
  40. data/lib/rubyXL/objects/storage.rb +51 -50
  41. data/lib/rubyXL/objects/stylesheet.rb +8 -15
  42. data/lib/rubyXL/objects/text.rb +5 -7
  43. data/lib/rubyXL/objects/theme.rb +5 -8
  44. data/lib/rubyXL/objects/workbook.rb +35 -31
  45. data/lib/rubyXL/objects/worksheet.rb +33 -29
  46. data/lib/rubyXL/parser.rb +1 -3
  47. data/lib/rubyXL/worksheet.rb +83 -84
  48. data/lib/rubyXL.rb +0 -1
  49. data/rdoc/README_rdoc.html +42 -28
  50. data/rdoc/RubyXL/AExtension.html +9 -49
  51. data/rdoc/RubyXL/AExtensionStorageArea.html +5 -12
  52. data/rdoc/RubyXL/ActiveX.html +12 -41
  53. data/rdoc/RubyXL/ActiveXBinary.html +5 -17
  54. data/rdoc/RubyXL/AdjustHandleList.html +5 -12
  55. data/rdoc/RubyXL/Alignment.html +5 -12
  56. data/rdoc/RubyXL/AlternateContent.html +5 -12
  57. data/rdoc/RubyXL/Authors.html +5 -12
  58. data/rdoc/RubyXL/AutoFilter.html +5 -12
  59. data/rdoc/RubyXL/AutoFilterColumn.html +5 -12
  60. data/rdoc/RubyXL/BinaryImageFile.html +5 -20
  61. data/rdoc/RubyXL/BodyProperties.html +5 -12
  62. data/rdoc/RubyXL/BooleanNode.html +5 -12
  63. data/rdoc/RubyXL/BooleanValue.html +5 -12
  64. data/rdoc/RubyXL/Border.html +12 -72
  65. data/rdoc/RubyXL/BorderEdge.html +10 -44
  66. data/rdoc/RubyXL/Borders.html +9 -30
  67. data/rdoc/RubyXL/Break.html +5 -12
  68. data/rdoc/RubyXL/BreakList.html +5 -12
  69. data/rdoc/RubyXL/CT_AdjPoint2D.html +5 -12
  70. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +5 -12
  71. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +5 -12
  72. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +5 -12
  73. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +5 -12
  74. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +5 -12
  75. data/rdoc/RubyXL/CT_Backdrop.html +5 -12
  76. data/rdoc/RubyXL/CT_Bevel.html +5 -12
  77. data/rdoc/RubyXL/CT_BiLevelEffect.html +5 -12
  78. data/rdoc/RubyXL/CT_BlendEffect.html +5 -12
  79. data/rdoc/RubyXL/CT_Blip.html +5 -12
  80. data/rdoc/RubyXL/CT_BlipFillProperties.html +5 -12
  81. data/rdoc/RubyXL/CT_BlurEffect.html +5 -12
  82. data/rdoc/RubyXL/CT_Camera.html +5 -12
  83. data/rdoc/RubyXL/CT_Color.html +5 -12
  84. data/rdoc/RubyXL/CT_ColorChangeEffect.html +5 -12
  85. data/rdoc/RubyXL/CT_ColorMapping.html +5 -12
  86. data/rdoc/RubyXL/CT_ColorScheme.html +5 -12
  87. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +5 -12
  88. data/rdoc/RubyXL/CT_ConnectionSite.html +5 -12
  89. data/rdoc/RubyXL/CT_ConnectionSiteList.html +5 -12
  90. data/rdoc/RubyXL/CT_DashStop.html +5 -12
  91. data/rdoc/RubyXL/CT_DashStopList.html +5 -12
  92. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +5 -12
  93. data/rdoc/RubyXL/CT_DuotoneEffect.html +5 -12
  94. data/rdoc/RubyXL/CT_EffectContainer.html +5 -12
  95. data/rdoc/RubyXL/CT_EffectList.html +5 -12
  96. data/rdoc/RubyXL/CT_EffectReference.html +5 -12
  97. data/rdoc/RubyXL/CT_EffectStyleItem.html +5 -12
  98. data/rdoc/RubyXL/CT_EffectStyleList.html +5 -12
  99. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +5 -12
  100. data/rdoc/RubyXL/CT_FillEffect.html +5 -12
  101. data/rdoc/RubyXL/CT_FillOverlayEffect.html +5 -12
  102. data/rdoc/RubyXL/CT_FillStyleList.html +5 -12
  103. data/rdoc/RubyXL/CT_FlatText.html +5 -12
  104. data/rdoc/RubyXL/CT_FontCollection.html +5 -12
  105. data/rdoc/RubyXL/CT_FontReference.html +5 -12
  106. data/rdoc/RubyXL/CT_GeomGuideList.html +5 -12
  107. data/rdoc/RubyXL/CT_GlowEffect.html +5 -12
  108. data/rdoc/RubyXL/CT_GradientFillProperties.html +5 -12
  109. data/rdoc/RubyXL/CT_GradientStop.html +5 -12
  110. data/rdoc/RubyXL/CT_GradientStopList.html +5 -12
  111. data/rdoc/RubyXL/CT_HSLEffect.html +5 -12
  112. data/rdoc/RubyXL/CT_HslColor.html +5 -12
  113. data/rdoc/RubyXL/CT_Hyperlink.html +5 -12
  114. data/rdoc/RubyXL/CT_InnerShadowEffect.html +5 -12
  115. data/rdoc/RubyXL/CT_LightRig.html +5 -12
  116. data/rdoc/RubyXL/CT_LineEndProperties.html +5 -12
  117. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +5 -12
  118. data/rdoc/RubyXL/CT_LineProperties.html +5 -12
  119. data/rdoc/RubyXL/CT_LineStyleList.html +5 -12
  120. data/rdoc/RubyXL/CT_LinearShadeProperties.html +5 -12
  121. data/rdoc/RubyXL/CT_LuminanceEffect.html +5 -12
  122. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +5 -12
  123. data/rdoc/RubyXL/CT_OuterShadowEffect.html +5 -12
  124. data/rdoc/RubyXL/CT_Path2D.html +5 -12
  125. data/rdoc/RubyXL/CT_Path2DArcTo.html +5 -12
  126. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +5 -12
  127. data/rdoc/RubyXL/CT_Path2DList.html +5 -12
  128. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +5 -12
  129. data/rdoc/RubyXL/CT_Path2DTo.html +5 -12
  130. data/rdoc/RubyXL/CT_PathShadeProperties.html +5 -12
  131. data/rdoc/RubyXL/CT_PatternFillProperties.html +5 -12
  132. data/rdoc/RubyXL/CT_Point3D.html +5 -12
  133. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +5 -12
  134. data/rdoc/RubyXL/CT_PresetColor.html +5 -12
  135. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +5 -12
  136. data/rdoc/RubyXL/CT_PresetShadowEffect.html +5 -12
  137. data/rdoc/RubyXL/CT_PresetTextShape.html +5 -12
  138. data/rdoc/RubyXL/CT_ReflectionEffect.html +5 -12
  139. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +5 -12
  140. data/rdoc/RubyXL/CT_RelativeRect.html +5 -12
  141. data/rdoc/RubyXL/CT_SRgbColor.html +5 -12
  142. data/rdoc/RubyXL/CT_ScRgbColor.html +5 -12
  143. data/rdoc/RubyXL/CT_Scene3D.html +5 -12
  144. data/rdoc/RubyXL/CT_SchemeColor.html +5 -12
  145. data/rdoc/RubyXL/CT_Shape3D.html +5 -12
  146. data/rdoc/RubyXL/CT_ShapeStyle.html +5 -12
  147. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +5 -12
  148. data/rdoc/RubyXL/CT_SphereCoords.html +5 -12
  149. data/rdoc/RubyXL/CT_StretchInfoProperties.html +5 -12
  150. data/rdoc/RubyXL/CT_StyleMatrix.html +5 -12
  151. data/rdoc/RubyXL/CT_StyleMatrixReference.html +5 -12
  152. data/rdoc/RubyXL/CT_SupplementalFont.html +5 -12
  153. data/rdoc/RubyXL/CT_SystemColor.html +5 -12
  154. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +5 -12
  155. data/rdoc/RubyXL/CT_TextBlipBullet.html +5 -12
  156. data/rdoc/RubyXL/CT_TextCharBullet.html +5 -12
  157. data/rdoc/RubyXL/CT_TextCharacterProperties.html +5 -12
  158. data/rdoc/RubyXL/CT_TextFont.html +5 -12
  159. data/rdoc/RubyXL/CT_TextListStyle.html +5 -12
  160. data/rdoc/RubyXL/CT_TextNormalAutofit.html +5 -12
  161. data/rdoc/RubyXL/CT_TextParagraphProperties.html +5 -12
  162. data/rdoc/RubyXL/CT_TextSpacing.html +5 -12
  163. data/rdoc/RubyXL/CT_TextTabStop.html +5 -12
  164. data/rdoc/RubyXL/CT_TextTabStopList.html +5 -12
  165. data/rdoc/RubyXL/CT_TileInfoProperties.html +5 -12
  166. data/rdoc/RubyXL/CT_TintEffect.html +5 -12
  167. data/rdoc/RubyXL/CT_Transform2D.html +5 -12
  168. data/rdoc/RubyXL/CT_TransformEffect.html +5 -12
  169. data/rdoc/RubyXL/CT_Vector3D.html +5 -12
  170. data/rdoc/RubyXL/CT_XYAdjustHandle.html +5 -12
  171. data/rdoc/RubyXL/CalculationChain.html +8 -37
  172. data/rdoc/RubyXL/CalculationChainCell.html +5 -12
  173. data/rdoc/RubyXL/CalculationProperties.html +5 -12
  174. data/rdoc/RubyXL/Cell.html +26 -228
  175. data/rdoc/RubyXL/CellConvenienceMethods.html +108 -503
  176. data/rdoc/RubyXL/CellExt.html +5 -12
  177. data/rdoc/RubyXL/CellSmartTag.html +5 -12
  178. data/rdoc/RubyXL/CellSmartTagProperty.html +5 -12
  179. data/rdoc/RubyXL/CellSmartTags.html +5 -12
  180. data/rdoc/RubyXL/CellStyle.html +5 -12
  181. data/rdoc/RubyXL/CellStyleXFs.html +9 -30
  182. data/rdoc/RubyXL/CellStyles.html +9 -30
  183. data/rdoc/RubyXL/CellValue.html +9 -30
  184. data/rdoc/RubyXL/CellWatch.html +5 -12
  185. data/rdoc/RubyXL/CellWatches.html +5 -12
  186. data/rdoc/RubyXL/CellXFs.html +10 -33
  187. data/rdoc/RubyXL/ChartColorsFile.html +5 -20
  188. data/rdoc/RubyXL/ChartFile.html +11 -43
  189. data/rdoc/RubyXL/ChartStyleFile.html +5 -20
  190. data/rdoc/RubyXL/ChartUserShapesFile.html +5 -20
  191. data/rdoc/RubyXL/Chartsheet.html +11 -60
  192. data/rdoc/RubyXL/ChartsheetPageSetup.html +5 -12
  193. data/rdoc/RubyXL/ChartsheetProperties.html +5 -12
  194. data/rdoc/RubyXL/ChartsheetProtection.html +5 -12
  195. data/rdoc/RubyXL/ChartsheetView.html +5 -12
  196. data/rdoc/RubyXL/ChartsheetViews.html +5 -12
  197. data/rdoc/RubyXL/Color.html +10 -36
  198. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +10 -58
  199. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +18 -78
  200. data/rdoc/RubyXL/ColorConvenienceClasses.html +3 -9
  201. data/rdoc/RubyXL/ColorConvenienceMethods.html +7 -27
  202. data/rdoc/RubyXL/ColorFilter.html +5 -12
  203. data/rdoc/RubyXL/ColorScale.html +5 -12
  204. data/rdoc/RubyXL/ColorSet.html +5 -12
  205. data/rdoc/RubyXL/Colors.html +5 -12
  206. data/rdoc/RubyXL/ColumnRange.html +11 -63
  207. data/rdoc/RubyXL/ColumnRanges.html +12 -72
  208. data/rdoc/RubyXL/Comment.html +5 -12
  209. data/rdoc/RubyXL/CommentList.html +5 -12
  210. data/rdoc/RubyXL/CommentsFile.html +9 -43
  211. data/rdoc/RubyXL/ConditionalFormatValue.html +5 -12
  212. data/rdoc/RubyXL/ConditionalFormatting.html +5 -12
  213. data/rdoc/RubyXL/ConditionalFormattingRule.html +5 -12
  214. data/rdoc/RubyXL/Connection.html +5 -12
  215. data/rdoc/RubyXL/ConnectionTable.html +5 -12
  216. data/rdoc/RubyXL/ConnectionTables.html +5 -12
  217. data/rdoc/RubyXL/ConnectionTextField.html +5 -12
  218. data/rdoc/RubyXL/ConnectionTextFields.html +5 -12
  219. data/rdoc/RubyXL/Connections.html +8 -37
  220. data/rdoc/RubyXL/ContentTypeDefault.html +5 -12
  221. data/rdoc/RubyXL/ContentTypeOverride.html +5 -12
  222. data/rdoc/RubyXL/ContentTypes.html +12 -54
  223. data/rdoc/RubyXL/ControlPropertiesFile.html +7 -17
  224. data/rdoc/RubyXL/CorePropertiesFile.html +17 -155
  225. data/rdoc/RubyXL/CustomColor.html +5 -12
  226. data/rdoc/RubyXL/CustomColorList.html +5 -12
  227. data/rdoc/RubyXL/CustomFilter.html +5 -12
  228. data/rdoc/RubyXL/CustomFilters.html +5 -12
  229. data/rdoc/RubyXL/CustomGeometry.html +5 -12
  230. data/rdoc/RubyXL/CustomProperties.html +5 -12
  231. data/rdoc/RubyXL/CustomPropertiesFile.html +5 -20
  232. data/rdoc/RubyXL/CustomProperty.html +5 -12
  233. data/rdoc/RubyXL/CustomPropertyFile.html +5 -20
  234. data/rdoc/RubyXL/CustomSheetView.html +5 -12
  235. data/rdoc/RubyXL/CustomSheetViews.html +5 -12
  236. data/rdoc/RubyXL/CustomWorkbookView.html +5 -12
  237. data/rdoc/RubyXL/CustomWorkbookViews.html +5 -12
  238. data/rdoc/RubyXL/CustomXMLFile.html +5 -17
  239. data/rdoc/RubyXL/DXF.html +5 -12
  240. data/rdoc/RubyXL/DXFs.html +5 -12
  241. data/rdoc/RubyXL/DataBar.html +5 -12
  242. data/rdoc/RubyXL/DataConsolidate.html +5 -12
  243. data/rdoc/RubyXL/DataConsolidationReference.html +5 -12
  244. data/rdoc/RubyXL/DataConsolidationReferences.html +5 -12
  245. data/rdoc/RubyXL/DataType.html +3 -32
  246. data/rdoc/RubyXL/DataValidation.html +5 -12
  247. data/rdoc/RubyXL/DataValidations.html +5 -12
  248. data/rdoc/RubyXL/DateGroupItem.html +5 -12
  249. data/rdoc/RubyXL/DefinedName.html +5 -12
  250. data/rdoc/RubyXL/DefinedNameExt.html +5 -12
  251. data/rdoc/RubyXL/DefinedNames.html +5 -12
  252. data/rdoc/RubyXL/DefinedNamesExt.html +5 -12
  253. data/rdoc/RubyXL/DocumentPropertiesFile.html +10 -57
  254. data/rdoc/RubyXL/DrawingFile.html +11 -43
  255. data/rdoc/RubyXL/DynamicFilter.html +5 -12
  256. data/rdoc/RubyXL/EmbeddedControl.html +5 -12
  257. data/rdoc/RubyXL/EmbeddedControls.html +5 -12
  258. data/rdoc/RubyXL/Extension.html +5 -12
  259. data/rdoc/RubyXL/ExtensionStorageArea.html +5 -12
  260. data/rdoc/RubyXL/Extents.html +5 -12
  261. data/rdoc/RubyXL/ExternalBook.html +5 -12
  262. data/rdoc/RubyXL/ExternalLinksFile.html +11 -43
  263. data/rdoc/RubyXL/ExternalReference.html +5 -12
  264. data/rdoc/RubyXL/ExternalReferences.html +5 -12
  265. data/rdoc/RubyXL/ExtraColorSchemeList.html +5 -12
  266. data/rdoc/RubyXL/FieldItem.html +5 -12
  267. data/rdoc/RubyXL/FileRecoveryProperties.html +5 -12
  268. data/rdoc/RubyXL/FileSharing.html +5 -12
  269. data/rdoc/RubyXL/FileVersion.html +5 -12
  270. data/rdoc/RubyXL/Fill.html +9 -30
  271. data/rdoc/RubyXL/Fills.html +9 -30
  272. data/rdoc/RubyXL/FilterContainer.html +5 -12
  273. data/rdoc/RubyXL/FloatNode.html +5 -12
  274. data/rdoc/RubyXL/FloatValue.html +5 -12
  275. data/rdoc/RubyXL/Font.html +11 -37
  276. data/rdoc/RubyXL/FontConvenienceMethods.html +7 -196
  277. data/rdoc/RubyXL/FontScheme.html +5 -12
  278. data/rdoc/RubyXL/Fonts.html +9 -30
  279. data/rdoc/RubyXL/Formula.html +5 -12
  280. data/rdoc/RubyXL/FunctionGroup.html +5 -12
  281. data/rdoc/RubyXL/FunctionGroups.html +5 -12
  282. data/rdoc/RubyXL/GenericStorageObject.html +12 -76
  283. data/rdoc/RubyXL/GradientFill.html +5 -12
  284. data/rdoc/RubyXL/HeaderFooterSettings.html +5 -12
  285. data/rdoc/RubyXL/Hyperlink.html +5 -12
  286. data/rdoc/RubyXL/HyperlinkRelFile.html +5 -17
  287. data/rdoc/RubyXL/Hyperlinks.html +5 -12
  288. data/rdoc/RubyXL/IconFilter.html +5 -12
  289. data/rdoc/RubyXL/IconSet.html +5 -12
  290. data/rdoc/RubyXL/IgnoredError.html +5 -12
  291. data/rdoc/RubyXL/IgnoredErrors.html +5 -12
  292. data/rdoc/RubyXL/IndexedColors.html +5 -12
  293. data/rdoc/RubyXL/InputCells.html +5 -12
  294. data/rdoc/RubyXL/IntegerNode.html +5 -12
  295. data/rdoc/RubyXL/IntegerValue.html +5 -12
  296. data/rdoc/RubyXL/LegacyCell.html +7 -27
  297. data/rdoc/RubyXL/LegacyWorksheet.html +11 -88
  298. data/rdoc/RubyXL/MRUColors.html +5 -12
  299. data/rdoc/RubyXL/MacrosFile.html +5 -20
  300. data/rdoc/RubyXL/MergedCell.html +5 -12
  301. data/rdoc/RubyXL/MergedCells.html +5 -12
  302. data/rdoc/RubyXL/NumFmt.html +5 -12
  303. data/rdoc/RubyXL/NumberFormat.html +10 -31
  304. data/rdoc/RubyXL/NumberFormats.html +9 -35
  305. data/rdoc/RubyXL/OLEObject.html +5 -12
  306. data/rdoc/RubyXL/OLEObjectFile.html +5 -20
  307. data/rdoc/RubyXL/OLEObjects.html +5 -12
  308. data/rdoc/RubyXL/OLESize.html +5 -12
  309. data/rdoc/RubyXL/OOXMLContainerObject.html +19 -114
  310. data/rdoc/RubyXL/OOXMLIgnored.html +11 -46
  311. data/rdoc/RubyXL/OOXMLObject.html +8 -18
  312. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +42 -92
  313. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +23 -144
  314. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +24 -181
  315. data/rdoc/RubyXL/OOXMLTopLevelObject.html +15 -102
  316. data/rdoc/RubyXL/OdbcOleDbProperties.html +5 -12
  317. data/rdoc/RubyXL/Offset.html +5 -12
  318. data/rdoc/RubyXL/OlapProperties.html +5 -12
  319. data/rdoc/RubyXL/OleItem.html +99 -0
  320. data/rdoc/RubyXL/OleItems.html +99 -0
  321. data/rdoc/RubyXL/OleLink.html +99 -0
  322. data/rdoc/RubyXL/OutlineProperties.html +5 -12
  323. data/rdoc/RubyXL/PageMargins.html +5 -12
  324. data/rdoc/RubyXL/PageSetup.html +5 -12
  325. data/rdoc/RubyXL/PageSetupProperties.html +5 -12
  326. data/rdoc/RubyXL/Pane.html +5 -12
  327. data/rdoc/RubyXL/Parser.html +11 -45
  328. data/rdoc/RubyXL/PatternFill.html +5 -12
  329. data/rdoc/RubyXL/PhoneticProperties.html +5 -12
  330. data/rdoc/RubyXL/PhoneticRun.html +5 -12
  331. data/rdoc/RubyXL/PivotArea.html +5 -12
  332. data/rdoc/RubyXL/PivotCache.html +5 -12
  333. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +7 -25
  334. data/rdoc/RubyXL/PivotCacheRecordsFile.html +5 -20
  335. data/rdoc/RubyXL/PivotCaches.html +5 -12
  336. data/rdoc/RubyXL/PivotReference.html +5 -12
  337. data/rdoc/RubyXL/PivotReferences.html +5 -12
  338. data/rdoc/RubyXL/PivotTableFile.html +7 -25
  339. data/rdoc/RubyXL/PivotTableSelection.html +5 -12
  340. data/rdoc/RubyXL/PresetGeometry.html +5 -12
  341. data/rdoc/RubyXL/PrintOptions.html +5 -12
  342. data/rdoc/RubyXL/PrinterSettingsFile.html +5 -20
  343. data/rdoc/RubyXL/ProtectedRange.html +5 -12
  344. data/rdoc/RubyXL/ProtectedRanges.html +5 -12
  345. data/rdoc/RubyXL/Protection.html +5 -12
  346. data/rdoc/RubyXL/QueryParameter.html +5 -12
  347. data/rdoc/RubyXL/QueryParameters.html +5 -12
  348. data/rdoc/RubyXL/QueryTable.html +10 -42
  349. data/rdoc/RubyXL/QueryTableDeletedField.html +5 -12
  350. data/rdoc/RubyXL/QueryTableDeletedFields.html +5 -12
  351. data/rdoc/RubyXL/QueryTableField.html +5 -12
  352. data/rdoc/RubyXL/QueryTableFields.html +5 -12
  353. data/rdoc/RubyXL/QueryTableRefresh.html +5 -12
  354. data/rdoc/RubyXL/RID.html +5 -12
  355. data/rdoc/RubyXL/RawOOXML.html +11 -51
  356. data/rdoc/RubyXL/Reference.html +42 -204
  357. data/rdoc/RubyXL/Relationship.html +5 -12
  358. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +7 -27
  359. data/rdoc/RubyXL/RelationshipSupport.html +15 -112
  360. data/rdoc/RubyXL/RevisionPointer.html +5 -12
  361. data/rdoc/RubyXL/RichText.html +11 -31
  362. data/rdoc/RubyXL/RichTextRun.html +9 -30
  363. data/rdoc/RubyXL/Row.html +8 -143
  364. data/rdoc/RubyXL/RowExt.html +5 -12
  365. data/rdoc/RubyXL/RunProperties.html +5 -12
  366. data/rdoc/RubyXL/Scenario.html +5 -12
  367. data/rdoc/RubyXL/Scenarios.html +5 -12
  368. data/rdoc/RubyXL/Selection.html +9 -30
  369. data/rdoc/RubyXL/ShapeGuide.html +5 -12
  370. data/rdoc/RubyXL/ShapeTextRectangle.html +5 -12
  371. data/rdoc/RubyXL/SharedStringsTable.html +16 -126
  372. data/rdoc/RubyXL/Sheet.html +5 -12
  373. data/rdoc/RubyXL/SheetCalculationProperties.html +5 -12
  374. data/rdoc/RubyXL/SheetData.html +8 -42
  375. data/rdoc/RubyXL/SheetDataExt.html +5 -12
  376. data/rdoc/RubyXL/SheetDataSet.html +5 -12
  377. data/rdoc/RubyXL/SheetMetadata.html +108 -0
  378. data/rdoc/RubyXL/SheetName.html +5 -12
  379. data/rdoc/RubyXL/SheetNames.html +5 -12
  380. data/rdoc/RubyXL/Sheets.html +5 -12
  381. data/rdoc/RubyXL/SlicerCacheFile.html +5 -20
  382. data/rdoc/RubyXL/SlicerFile.html +5 -20
  383. data/rdoc/RubyXL/SmartTagProperties.html +5 -12
  384. data/rdoc/RubyXL/SmartTagType.html +5 -12
  385. data/rdoc/RubyXL/SmartTagTypes.html +5 -12
  386. data/rdoc/RubyXL/SmartTags.html +5 -12
  387. data/rdoc/RubyXL/SortCondition.html +5 -12
  388. data/rdoc/RubyXL/SortState.html +5 -12
  389. data/rdoc/RubyXL/Sqref.html +11 -46
  390. data/rdoc/RubyXL/Stop.html +5 -12
  391. data/rdoc/RubyXL/StringNode.html +5 -12
  392. data/rdoc/RubyXL/StringNodeW3C.html +11 -46
  393. data/rdoc/RubyXL/StringValue.html +5 -12
  394. data/rdoc/RubyXL/Stylesheet.html +14 -97
  395. data/rdoc/RubyXL/TableFile.html +5 -20
  396. data/rdoc/RubyXL/TableParts.html +5 -12
  397. data/rdoc/RubyXL/TableStyle.html +5 -12
  398. data/rdoc/RubyXL/TableStyles.html +5 -12
  399. data/rdoc/RubyXL/Text.html +12 -54
  400. data/rdoc/RubyXL/TextImportSettings.html +5 -12
  401. data/rdoc/RubyXL/Theme.html +12 -68
  402. data/rdoc/RubyXL/ThemeElements.html +5 -12
  403. data/rdoc/RubyXL/ThumbnailFile.html +5 -20
  404. data/rdoc/RubyXL/Top10.html +5 -12
  405. data/rdoc/RubyXL/VMLDrawingFile.html +8 -26
  406. data/rdoc/RubyXL/Variant.html +5 -12
  407. data/rdoc/RubyXL/Vector.html +9 -30
  408. data/rdoc/RubyXL/VectorValue.html +5 -12
  409. data/rdoc/RubyXL/VisualProperties.html +5 -12
  410. data/rdoc/RubyXL/WebPublishObject.html +5 -12
  411. data/rdoc/RubyXL/WebPublishObjects.html +5 -12
  412. data/rdoc/RubyXL/WebPublishingItem.html +5 -12
  413. data/rdoc/RubyXL/WebPublishingItems.html +5 -12
  414. data/rdoc/RubyXL/WebPublishingProperties.html +5 -12
  415. data/rdoc/RubyXL/WebQueryProperties.html +5 -12
  416. data/rdoc/RubyXL/Workbook.html +45 -462
  417. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +68 -239
  418. data/rdoc/RubyXL/WorkbookProperties.html +5 -12
  419. data/rdoc/RubyXL/WorkbookProtection.html +5 -12
  420. data/rdoc/RubyXL/WorkbookRoot.html +16 -104
  421. data/rdoc/RubyXL/WorkbookView.html +5 -12
  422. data/rdoc/RubyXL/WorkbookViews.html +5 -12
  423. data/rdoc/RubyXL/Worksheet.html +40 -135
  424. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +170 -989
  425. data/rdoc/RubyXL/WorksheetDimensions.html +5 -12
  426. data/rdoc/RubyXL/WorksheetFormatProperties.html +5 -12
  427. data/rdoc/RubyXL/WorksheetProperties.html +5 -12
  428. data/rdoc/RubyXL/WorksheetProtection.html +5 -12
  429. data/rdoc/RubyXL/WorksheetView.html +5 -12
  430. data/rdoc/RubyXL/WorksheetViews.html +5 -12
  431. data/rdoc/RubyXL/XF.html +5 -12
  432. data/rdoc/RubyXL.html +8 -319
  433. data/rdoc/created.rid +44 -44
  434. data/rdoc/css/rdoc.css +21 -1
  435. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  436. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  437. data/rdoc/index.html +9 -388
  438. data/rdoc/js/navigation.js.gz +0 -0
  439. data/rdoc/js/search_index.js +1 -1
  440. data/rdoc/js/search_index.js.gz +0 -0
  441. data/rdoc/js/searcher.js.gz +0 -0
  442. data/rdoc/table_of_contents.html +57 -5
  443. data/rubyXL.gemspec +24 -30
  444. data/spec/lib/cell_spec.rb +38 -6
  445. data/spec/lib/color_spec.rb +1 -1
  446. data/spec/lib/parser_spec.rb +24 -27
  447. data/spec/lib/reference_spec.rb +9 -3
  448. data/spec/lib/rgb_color_spec.rb +27 -0
  449. data/spec/lib/stylesheet_spec.rb +8 -11
  450. data/spec/lib/text_spec.rb +1 -5
  451. data/spec/lib/workbook_spec.rb +14 -4
  452. data/spec/lib/worksheet_spec.rb +790 -447
  453. data/spec/spec_helper.rb +2 -0
  454. data/test/test_parse_write.rb +3 -3
  455. metadata +11 -8
  456. data/test/output/test.xlsx +0 -0
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>Table of Contents - rubyXL 3.4.12</title>
7
+ <title>Table of Contents - rubyXL 3.4.25</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "./";
@@ -21,10 +21,9 @@
21
21
  <link href="./css/rdoc.css" rel="stylesheet">
22
22
 
23
23
 
24
-
25
24
  <body id="top" class="table-of-contents">
26
25
  <main role="main">
27
- <h1 class="class">Table of Contents - rubyXL 3.4.12</h1>
26
+ <h1 class="class">Table of Contents - rubyXL 3.4.25</h1>
28
27
 
29
28
  <h2 id="pages">Pages</h2>
30
29
  <ul>
@@ -67,15 +66,16 @@
67
66
  <li><a href="README_rdoc.html#label-Insert+Cell">Insert Cell</a>
68
67
  <li><a href="README_rdoc.html#label-Delete+Cell">Delete Cell</a>
69
68
  <li><a href="README_rdoc.html#label-Modifying+Cell+Format">Modifying Cell Format</a>
69
+ <li><a href="README_rdoc.html#label-Add+hyperlink+to+a+Cell">Add hyperlink to a Cell</a>
70
70
  <li><a href="README_rdoc.html#label-I-2FO">I/O</a>
71
71
  <li><a href="README_rdoc.html#label-Miscellaneous">Miscellaneous</a>
72
72
  <li><a href="README_rdoc.html#label-Suppress+warnings+about+malformed+input+files">Suppress warnings about malformed input files</a>
73
+ <li><a href="README_rdoc.html#label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">Data validation (colloquially referred to as “dropdown list”)</a>
73
74
  <li><a href="README_rdoc.html#label-For+more+information">For more information</a>
74
75
  <li><a href="README_rdoc.html#label-Contributing+to+rubyXL">Contributing to rubyXL</a>
75
76
  <li><a href="README_rdoc.html#label-Copyright">Copyright</a>
76
77
  </ul>
77
78
  </li>
78
-
79
79
  </ul>
80
80
 
81
81
  <h2 id="classes">Classes and Modules</h2>
@@ -890,6 +890,15 @@
890
890
  <li class="class">
891
891
  <a href="RubyXL/OlapProperties.html">RubyXL::OlapProperties</a>
892
892
  </li>
893
+ <li class="class">
894
+ <a href="RubyXL/OleItem.html">RubyXL::OleItem</a>
895
+ </li>
896
+ <li class="class">
897
+ <a href="RubyXL/OleItems.html">RubyXL::OleItems</a>
898
+ </li>
899
+ <li class="class">
900
+ <a href="RubyXL/OleLink.html">RubyXL::OleLink</a>
901
+ </li>
893
902
  <li class="class">
894
903
  <a href="RubyXL/OutlineProperties.html">RubyXL::OutlineProperties</a>
895
904
  </li>
@@ -1055,6 +1064,9 @@
1055
1064
  <li class="class">
1056
1065
  <a href="RubyXL/SheetDataSet.html">RubyXL::SheetDataSet</a>
1057
1066
  </li>
1067
+ <li class="class">
1068
+ <a href="RubyXL/SheetMetadata.html">RubyXL::SheetMetadata</a>
1069
+ </li>
1058
1070
  <li class="class">
1059
1071
  <a href="RubyXL/SheetName.html">RubyXL::SheetName</a>
1060
1072
  </li>
@@ -1477,6 +1489,11 @@
1477
1489
  &mdash;
1478
1490
  <span class="container">RubyXL::LegacyWorksheet</span>
1479
1491
 
1492
+ <li class="method">
1493
+ <a href="RubyXL/CellConvenienceMethods.html#method-i-add_hyperlink">#add_hyperlink</a>
1494
+ &mdash;
1495
+ <span class="container">RubyXL::CellConvenienceMethods</span>
1496
+
1480
1497
  <li class="method">
1481
1498
  <a href="RubyXL/OOXMLRelationshipsFile.html#method-i-add_relationship">#add_relationship</a>
1482
1499
  &mdash;
@@ -1497,6 +1514,11 @@
1497
1514
  &mdash;
1498
1515
  <span class="container">RubyXL::GenericStorageObject</span>
1499
1516
 
1517
+ <li class="method">
1518
+ <a href="RubyXL/WorksheetConvenienceMethods.html#method-i-add_validation_list">#add_validation_list</a>
1519
+ &mdash;
1520
+ <span class="container">RubyXL::WorksheetConvenienceMethods</span>
1521
+
1500
1522
  <li class="method">
1501
1523
  <a href="RubyXL/Workbook.html#method-i-add_worksheet">#add_worksheet</a>
1502
1524
  &mdash;
@@ -1622,6 +1644,11 @@
1622
1644
  &mdash;
1623
1645
  <span class="container">RubyXL::WorkbookConvenienceMethods</span>
1624
1646
 
1647
+ <li class="method">
1648
+ <a href="RubyXL/Worksheet.html#method-i-cell_at">#cell_at</a>
1649
+ &mdash;
1650
+ <span class="container">RubyXL::Worksheet</span>
1651
+
1625
1652
  <li class="method">
1626
1653
  <a href="RubyXL/WorkbookConvenienceMethods.html#method-i-cell_xfs">#cell_xfs</a>
1627
1654
  &mdash;
@@ -1842,6 +1869,11 @@
1842
1869
  &mdash;
1843
1870
  <span class="container">RubyXL::WorksheetConvenienceMethods</span>
1844
1871
 
1872
+ <li class="method">
1873
+ <a href="RubyXL/CellConvenienceMethods.html#method-i-change_shrink_to_fit">#change_shrink_to_fit</a>
1874
+ &mdash;
1875
+ <span class="container">RubyXL::CellConvenienceMethods</span>
1876
+
1845
1877
  <li class="method">
1846
1878
  <a href="RubyXL/CellConvenienceMethods.html#method-i-change_text_indent">#change_text_indent</a>
1847
1879
  &mdash;
@@ -1977,6 +2009,11 @@
1977
2009
  &mdash;
1978
2010
  <span class="container">RubyXL::WorkbookConvenienceMethods</span>
1979
2011
 
2012
+ <li class="method">
2013
+ <a href="RubyXL/OOXMLObjectClassMethods.html#method-i-define_relationship">#define_relationship</a>
2014
+ &mdash;
2015
+ <span class="container">RubyXL::OOXMLObjectClassMethods</span>
2016
+
1980
2017
  <li class="method">
1981
2018
  <a href="RubyXL/RelationshipSupport/ClassMehods.html#method-i-define_relationship">#define_relationship</a>
1982
2019
  &mdash;
@@ -2772,6 +2809,16 @@
2772
2809
  &mdash;
2773
2810
  <span class="container">RubyXL::CellConvenienceMethods</span>
2774
2811
 
2812
+ <li class="method">
2813
+ <a href="RubyXL/WorkbookConvenienceMethods.html#method-i-title">#title</a>
2814
+ &mdash;
2815
+ <span class="container">RubyXL::WorkbookConvenienceMethods</span>
2816
+
2817
+ <li class="method">
2818
+ <a href="RubyXL/WorkbookConvenienceMethods.html#method-i-title-3D">#title=</a>
2819
+ &mdash;
2820
+ <span class="container">RubyXL::WorkbookConvenienceMethods</span>
2821
+
2775
2822
  <li class="method">
2776
2823
  <a href="RubyXL/ColorConvenienceClasses/RgbColor.html#method-i-to_hls">#to_hls</a>
2777
2824
  &mdash;
@@ -2817,6 +2864,11 @@
2817
2864
  &mdash;
2818
2865
  <span class="container">RubyXL::StringNodeW3C</span>
2819
2866
 
2867
+ <li class="method">
2868
+ <a href="RubyXL/Reference.html#method-i-valid-3F">#valid?</a>
2869
+ &mdash;
2870
+ <span class="container">RubyXL::Reference</span>
2871
+
2820
2872
  <li class="method">
2821
2873
  <a href="RubyXL/Cell.html#method-i-value">#value</a>
2822
2874
  &mdash;
@@ -2952,7 +3004,7 @@
2952
3004
 
2953
3005
  <footer id="validator-badges" role="contentinfo">
2954
3006
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
2955
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.0.
3007
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.
2956
3008
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
2957
3009
  </footer>
2958
3010
 
data/rubyXL.gemspec CHANGED
@@ -1,17 +1,17 @@
1
- # Generated by jeweler
1
+ # Generated by juwelier
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rubyXL 3.4.12 ruby lib
5
+ # stub: rubyXL 3.4.25 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rubyXL".freeze
9
- s.version = "3.4.12"
9
+ s.version = "3.4.25"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Vivek Bhagwat".freeze, "Wesha".freeze]
14
- s.date = "2020-01-14"
14
+ s.date = "2022-05-19"
15
15
  s.description = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
16
16
  s.email = "bhagwat.vivek@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -341,6 +341,9 @@ Gem::Specification.new do |s|
341
341
  "rdoc/RubyXL/OdbcOleDbProperties.html",
342
342
  "rdoc/RubyXL/Offset.html",
343
343
  "rdoc/RubyXL/OlapProperties.html",
344
+ "rdoc/RubyXL/OleItem.html",
345
+ "rdoc/RubyXL/OleItems.html",
346
+ "rdoc/RubyXL/OleLink.html",
344
347
  "rdoc/RubyXL/OutlineProperties.html",
345
348
  "rdoc/RubyXL/PageMargins.html",
346
349
  "rdoc/RubyXL/PageSetup.html",
@@ -396,6 +399,7 @@ Gem::Specification.new do |s|
396
399
  "rdoc/RubyXL/SheetData.html",
397
400
  "rdoc/RubyXL/SheetDataExt.html",
398
401
  "rdoc/RubyXL/SheetDataSet.html",
402
+ "rdoc/RubyXL/SheetMetadata.html",
399
403
  "rdoc/RubyXL/SheetName.html",
400
404
  "rdoc/RubyXL/SheetNames.html",
401
405
  "rdoc/RubyXL/Sheets.html",
@@ -499,6 +503,7 @@ Gem::Specification.new do |s|
499
503
  "spec/lib/color_spec.rb",
500
504
  "spec/lib/parser_spec.rb",
501
505
  "spec/lib/reference_spec.rb",
506
+ "spec/lib/rgb_color_spec.rb",
502
507
  "spec/lib/stylesheet_spec.rb",
503
508
  "spec/lib/text_spec.rb",
504
509
  "spec/lib/workbook_spec.rb",
@@ -506,45 +511,34 @@ Gem::Specification.new do |s|
506
511
  "spec/spec_helper.rb",
507
512
  "test/input/.gitkeep",
508
513
  "test/output/.gitkeep",
509
- "test/output/test.xlsx",
510
514
  "test/test_parse_write.rb",
511
515
  "tmp/.gitignore"
512
516
  ]
513
517
  s.homepage = "http://github.com/gilt/rubyXL".freeze
514
518
  s.licenses = ["MIT".freeze]
515
- s.rubygems_version = "2.7.9".freeze
519
+ s.rubygems_version = "3.3.12".freeze
516
520
  s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
517
521
 
518
522
  if s.respond_to? :specification_version then
519
523
  s.specification_version = 4
524
+ end
520
525
 
521
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
522
- s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.4.4"])
523
- s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
524
- s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
525
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
526
- s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
527
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
528
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
529
- s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
530
- s.add_development_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
531
- else
532
- s.add_dependency(%q<nokogiri>.freeze, [">= 1.4.4"])
533
- s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
534
- s.add_dependency(%q<bundler>.freeze, [">= 0"])
535
- s.add_dependency(%q<rake>.freeze, [">= 0"])
536
- s.add_dependency(%q<jeweler>.freeze, [">= 0"])
537
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
538
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
539
- s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
540
- s.add_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
541
- end
526
+ if s.respond_to? :add_runtime_dependency then
527
+ s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
528
+ s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
529
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
530
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
531
+ s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
532
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
533
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
534
+ s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
535
+ s.add_development_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
542
536
  else
543
- s.add_dependency(%q<nokogiri>.freeze, [">= 1.4.4"])
537
+ s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
544
538
  s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
545
539
  s.add_dependency(%q<bundler>.freeze, [">= 0"])
546
540
  s.add_dependency(%q<rake>.freeze, [">= 0"])
547
- s.add_dependency(%q<jeweler>.freeze, [">= 0"])
541
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
548
542
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
549
543
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
550
544
  s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
@@ -4,7 +4,6 @@ require 'rubyXL/convenience_methods/font'
4
4
  require 'rubyXL/convenience_methods/cell'
5
5
 
6
6
  describe RubyXL::Cell do
7
-
8
7
  before do
9
8
  @workbook = RubyXL::Workbook.new
10
9
  @worksheet = @workbook.add_worksheet('Test Worksheet')
@@ -47,6 +46,25 @@ describe RubyXL::Cell do
47
46
 
48
47
  # Due to rounding errors, we allow microsecond precision on DateTime.
49
48
  expect((cell.value - tm).to_f).to be_within(1.0/86400e6).of(0)
49
+
50
+ tm = Time.now
51
+ cell = @worksheet.add_cell(r, c, tm)
52
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
53
+
54
+ # Due to rounding errors, we allow microsecond precision on Time.
55
+ expect(cell.value - tm.to_datetime).to be_within(1.0/86400e6).of(0)
56
+
57
+ expected_date = '2020-10-15T14:00:00Z'
58
+ expected_datetime = Time.parse(expected_date).utc
59
+ raw_value = '44119.583333333328' # Obtained from parsing a xlsx file with the expected date
60
+ cell = @worksheet.add_cell(r, c, Time.now) # Force a date cell type
61
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
62
+ cell.raw_value = raw_value
63
+ expect(cell.raw_value).to eq(raw_value), 'Wrong raw value'
64
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
65
+
66
+ # We expect exactly the same date
67
+ expect(cell.value.to_time.utc.iso8601).to eq(expected_datetime.iso8601)
50
68
  end
51
69
  end
52
70
 
@@ -171,7 +189,7 @@ describe RubyXL::Cell do
171
189
  expect(@cell.text_indent).to eq(2)
172
190
  end
173
191
 
174
- it "should not cause other cells with the same style to have text indent" do
192
+ it 'should not cause other cells with the same style to have text indent' do
175
193
  another_cell = @worksheet[1][0]
176
194
  another_cell.style_index = @cell.style_index
177
195
  expect(another_cell.text_indent).to be_nil
@@ -266,7 +284,7 @@ describe RubyXL::Cell do
266
284
  expect(cell.value).to eq('Hello')
267
285
  end
268
286
 
269
- it "should properly handle numeric values" do
287
+ it 'should properly handle numeric values' do
270
288
  @cell.datatype = nil
271
289
  @cell.raw_value = '1'
272
290
  expect(@cell.value).to eq(1)
@@ -357,6 +375,12 @@ describe RubyXL::Cell do
357
375
  end
358
376
  end
359
377
 
378
+ context 'with RichText' do
379
+ it 'returns the value of the RichText' do
380
+ cell = RubyXL::Cell.new(is: RubyXL::RichText.new(t: RubyXL::Text.new(value: 'test')))
381
+ expect(cell.value).to eq('test')
382
+ end
383
+ end
360
384
  end
361
385
 
362
386
  describe '.change_contents' do
@@ -375,6 +399,15 @@ describe RubyXL::Cell do
375
399
  expect(@cell.formula).to be_nil
376
400
  end
377
401
 
402
+ it 'should cause cell value to match a time that is passed in' do
403
+ time = Time.parse('January 1, 2011')
404
+ @cell.change_contents(time)
405
+ expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
406
+ expect(@cell.value).to eq(time.to_datetime)
407
+ expect(@cell.datatype).to be_nil
408
+ expect(@cell.formula).to be_nil
409
+ end
410
+
378
411
  it 'should case cell value to match a Float that is passed in' do
379
412
  number = 1.25
380
413
  @cell.change_contents(number)
@@ -391,8 +424,8 @@ describe RubyXL::Cell do
391
424
  expect(@cell.formula).to be_nil
392
425
  end
393
426
 
394
- it 'should case cell value to match an BigDecimal that is passed in' do
395
- number = BigDecimal.new('1234.5678')
427
+ it 'should cause cell value to match a BigDecimal that is passed in' do
428
+ number = BigDecimal('1234.5678')
396
429
  @cell.change_contents(number)
397
430
  expect(@cell.value).to eq(number)
398
431
  expect(@cell.datatype).to be_nil
@@ -566,5 +599,4 @@ describe RubyXL::Cell do
566
599
  expect(@cell.text_rotation).to eq(45)
567
600
  end
568
601
  end
569
-
570
602
  end
@@ -8,7 +8,7 @@ describe RubyXL::Color do
8
8
  end
9
9
 
10
10
  it 'should cause an error if an invalid hex color code or one with a # is passed' do
11
- expect {RubyXL::Color.validate_color('#G')}.to raise_error(RuntimeError)
11
+ expect { RubyXL::Color.validate_color('#G') }.to raise_error(RuntimeError)
12
12
  end
13
13
  end
14
14
  end
@@ -1,25 +1,25 @@
1
+ require 'English'
1
2
  require 'spec_helper'
2
3
  require 'tmpdir'
3
4
 
4
5
  describe RubyXL::Parser do
5
-
6
6
  before do
7
- @test_sheet_name = "This is a very long sheet name that should be trimmed to 31 characters for compatibility with MS Excel"
7
+ @test_sheet_name = 'This is a very long sheet name that should be trimmed to 31 characters for compatibility with MS Excel'
8
8
  @workbook = RubyXL::Workbook.new
9
- @workbook.add_worksheet("Test Worksheet")
9
+ @workbook.add_worksheet('Test Worksheet')
10
10
  @time = Time.at(Time.now.to_i) # Excel only saves times with 1-second precision.
11
11
  @time2 = @time + 123456
12
12
 
13
- ws = @workbook.add_worksheet("Escape Test")
14
- ws.add_cell(0, 0, "&")
15
- ws.add_cell(0, 1, "<")
16
- ws.add_cell(0, 2, ">")
17
- ws.add_cell(0, 3, "")
13
+ ws = @workbook.add_worksheet('Escape Test')
14
+ ws.add_cell(0, 0, '&')
15
+ ws.add_cell(0, 1, '<')
16
+ ws.add_cell(0, 2, '>')
17
+ ws.add_cell(0, 3, '')
18
18
 
19
- ws.add_cell(1, 0, "&")#TODO#.datatype = RubyXL::Cell::SHARED_STRING
20
- ws.add_cell(1, 1, "<")#TODO#.datatype = RubyXL::Cell::SHARED_STRING
21
- ws.add_cell(1, 2, ">")#TODO#.datatype = RubyXL::Cell::SHARED_STRING
22
- ws.add_cell(1, 3, "")
19
+ ws.add_cell(1, 0, '&')#TODO#.datatype = RubyXL::Cell::SHARED_STRING
20
+ ws.add_cell(1, 1, '<')#TODO#.datatype = RubyXL::Cell::SHARED_STRING
21
+ ws.add_cell(1, 2, '>')#TODO#.datatype = RubyXL::Cell::SHARED_STRING
22
+ ws.add_cell(1, 3, '')
23
23
 
24
24
  ws.add_cell(2, 0, 0)
25
25
  ws.add_cell(2, 1, 12345)
@@ -35,13 +35,13 @@ describe RubyXL::Parser do
35
35
 
36
36
  @workbook.add_worksheet(@test_sheet_name)
37
37
 
38
- @workbook.creator = "test creator"
39
- @workbook.modifier = "test modifier"
38
+ @workbook.creator = 'test creator'
39
+ @workbook.modifier = 'test modifier'
40
40
  @workbook.created_at = @time
41
41
  @workbook.modified_at = @time2
42
42
 
43
43
  @time_str = Time.now.to_s
44
- @file = "rubyXL-#{$$}-#{DateTime.now.strftime('%Q')}.xlsx"
44
+ @file = "rubyXL-#{$PROCESS_ID}-#{DateTime.now.strftime('%Q')}.xlsx"
45
45
  @workbook.write(@file)
46
46
  end
47
47
 
@@ -58,7 +58,7 @@ describe RubyXL::Parser do
58
58
  end
59
59
 
60
60
  it 'should cause an error if an xlsx or xlsm workbook is not passed' do
61
- expect {@workbook2 = RubyXL::Parser.parse("nonexistent_file.tmp")}.to raise_error(Zip::Error)
61
+ expect { @workbook2 = RubyXL::Parser.parse('nonexistent_file.tmp') }.to raise_error(Zip::Error)
62
62
  end
63
63
 
64
64
  it 'should construct consistent number formats' do
@@ -69,19 +69,19 @@ describe RubyXL::Parser do
69
69
 
70
70
  it 'should unescape HTML entities properly' do
71
71
  @workbook2 = RubyXL::Parser.parse(@file)
72
- expect(@workbook2["Escape Test"][0][0].value).to eq("&")
73
- expect(@workbook2["Escape Test"][0][1].value).to eq("<")
74
- expect(@workbook2["Escape Test"][0][2].value).to eq(">")
72
+ expect(@workbook2['Escape Test'][0][0].value).to eq('&')
73
+ expect(@workbook2['Escape Test'][0][1].value).to eq('<')
74
+ expect(@workbook2['Escape Test'][0][2].value).to eq('>')
75
75
 
76
- expect(@workbook2["Escape Test"][1][0].value).to eq("&")
77
- expect(@workbook2["Escape Test"][1][1].value).to eq("<")
78
- expect(@workbook2["Escape Test"][1][2].value).to eq(">")
76
+ expect(@workbook2['Escape Test'][1][0].value).to eq('&')
77
+ expect(@workbook2['Escape Test'][1][1].value).to eq('<')
78
+ expect(@workbook2['Escape Test'][1][2].value).to eq('>')
79
79
  end
80
80
 
81
81
  it 'should parse Core properties correctly' do
82
82
  @workbook2 = RubyXL::Parser.parse(@file)
83
- expect(@workbook2.creator).to eq("test creator")
84
- expect(@workbook2.modifier).to eq("test modifier")
83
+ expect(@workbook2.creator).to eq('test creator')
84
+ expect(@workbook2.modifier).to eq('test modifier')
85
85
  expect(@workbook2.created_at).to eq(@time)
86
86
  expect(@workbook2.modified_at).to eq(@time2)
87
87
  end
@@ -91,11 +91,9 @@ describe RubyXL::Parser do
91
91
  expect(@workbook2[@test_sheet_name]).to be_nil
92
92
  expect(@workbook2[@test_sheet_name[0..30]]).not_to be_nil
93
93
  end
94
-
95
94
  end
96
95
 
97
96
  describe 'parse_buffer' do
98
-
99
97
  it 'should parse string buffer correctly' do
100
98
  buffer = File.read(@file)
101
99
  expect(buffer).to be_instance_of(String)
@@ -109,7 +107,6 @@ describe RubyXL::Parser do
109
107
  f = RubyXL::Parser.parse_buffer(io)
110
108
  expect(f).to be_instance_of(RubyXL::Workbook)
111
109
  end
112
-
113
110
  end
114
111
 
115
112
  after do
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe RubyXL::Reference do
4
-
5
4
  describe '.ind2ref + .ref2ind' do
6
5
  it 'should correctly return the "Excel Style" description of cells when given a row/column number' do
7
6
  expect(RubyXL::Reference.ind2ref(0, 26)).to eq('AA1')
@@ -20,9 +19,16 @@ describe RubyXL::Reference do
20
19
  end
21
20
  end
22
21
 
22
+ it 'valid? should be true on valid references' do
23
+ expect(RubyXL::Reference.new('C23').valid?).to be true
24
+ end
25
+
26
+ it 'valid? should be false on invalid references' do
27
+ expect(RubyXL::Reference.new('C2A').valid?).to be false
28
+ end
29
+
23
30
  it 'should return [-1, -1] if the Excel index is not well-formed' do
24
31
  expect(RubyXL::Reference.ref2ind('A1B')).to eq([-1, -1])
25
32
  end
26
33
  end
27
-
28
- end
34
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+ require 'rubyXL/convenience_methods/color'
3
+
4
+ describe RubyXL::RgbColor do
5
+ describe '.to_s' do
6
+ it 'should properly translate RGB color to string' do
7
+ rgb_color = RubyXL::RgbColor.new
8
+
9
+ rgb_color.r = 1
10
+ rgb_color.g = 2
11
+ rgb_color.b = 255
12
+
13
+ expect(rgb_color.to_s).to eq('0102ff')
14
+ end
15
+
16
+ it 'should properly translate RGB color with alpha value to string' do
17
+ rgb_color = RubyXL::RgbColor.new
18
+
19
+ rgb_color.r = 11
20
+ rgb_color.g = 22
21
+ rgb_color.b = 33
22
+ rgb_color.a = 255
23
+
24
+ expect(rgb_color.to_s).to eq('0b1621ff')
25
+ end
26
+ end
27
+ end
@@ -1,28 +1,25 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe RubyXL::NumberFormat do
4
-
5
4
  describe '.is_date_format?' do
6
5
  it 'should return true if number format = dd// yy// mm' do
7
- expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'dd// yy// mm').is_date_format?()).to eq(true)
8
- end
6
+ expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'dd// yy// mm').is_date_format?).to eq(true)
7
+ end
9
8
 
10
9
  it 'should return true if number format = DD// YY// MM (uppercase)' do
11
- expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'DD// YY// MM').is_date_format?()).to eq(true)
12
- end
10
+ expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'DD// YY// MM').is_date_format?).to eq(true)
11
+ end
13
12
 
14
13
  it 'should return false if number format = @' do
15
- expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => '@').is_date_format?()).to eq(false)
16
- expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'general').is_date_format?()).to eq(false)
17
- expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => '0.00e+00').is_date_format?()).to eq(false)
18
- end
14
+ expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => '@').is_date_format?).to eq(false)
15
+ expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'general').is_date_format?).to eq(false)
16
+ expect(RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => '0.00e+00').is_date_format?).to eq(false)
17
+ end
19
18
 
20
19
  it 'should properly detect date formats amongst default ones' do
21
20
  all_formats = RubyXL::NumberFormats::DEFAULT_NUMBER_FORMATS
22
21
  id_list = all_formats.collect { |fmt| fmt.num_fmt_id if fmt.is_date_format? }.compact.sort
23
22
  expect(id_list).to eq([14, 15, 16, 17, 18, 19, 20, 21, 22, 45, 46, 47])
24
23
  end
25
-
26
24
  end
27
-
28
25
  end
@@ -1,15 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe RubyXL::Text do
4
-
5
4
  describe '.to_s' do
6
-
7
5
  it 'should not crash processing UNICODE data' do
8
6
  bytes = [ 114, 39, 95, 120, 48, 48, 56, 48, 95, 226, 132, 162, 115,
9
7
  32, 103, 105, 114, 108, 102, 114, 105, 101, 110, 100,
10
8
  39, 95, 120, 48, 48, 56, 48, 95, 226, 132, 162, 115, 32, 104, 111]
11
9
 
12
- t = RubyXL::Text.new(:value => bytes.pack("c*").force_encoding('UTF-8'))
10
+ t = RubyXL::Text.new(:value => bytes.pack('c*').force_encoding('UTF-8'))
13
11
 
14
12
  str = t.to_s
15
13
 
@@ -23,7 +21,5 @@ describe RubyXL::Text do
23
21
 
24
22
  expect(xml).to eq("<t>\u{10000}\u{10FFFF}</t>")
25
23
  end
26
-
27
24
  end
28
-
29
25
  end
@@ -133,8 +133,19 @@ describe RubyXL::Workbook do
133
133
  end
134
134
  end
135
135
 
136
+ describe '.title' do
137
+ it 'should contain default title' do
138
+ expect(@workbook.title).to be_nil
139
+ end
140
+
141
+ it 'should set title properly' do
142
+ @workbook.title = 'TITLE'
143
+ expect(@workbook.title).to eq('TITLE')
144
+ end
145
+ end
146
+
136
147
  describe '.stream' do
137
- it "It should not be confused by missing sheet_id" do
148
+ it 'It should not be confused by missing sheet_id' do
138
149
  workbook = RubyXL::Workbook.new
139
150
  workbook[0].sheet_id = 1
140
151
  workbook.add_worksheet('Sheet2')
@@ -144,12 +155,12 @@ describe RubyXL::Workbook do
144
155
  it 'should raise error if bad characters are present in worksheet name' do
145
156
  workbook = RubyXL::Workbook.new
146
157
  workbook[0].sheet_name = 'Sheet007'
147
- expect{workbook.stream}.to_not raise_error
158
+ expect{ workbook.stream }.to_not raise_error
148
159
 
149
160
  '\\/*[]:?'.each_char { |char|
150
161
  workbook = RubyXL::Workbook.new
151
162
  workbook[0].sheet_name = "Sheet#{char}007"
152
- expect{workbook.stream}.to raise_error(RuntimeError)
163
+ expect{ workbook.stream }.to raise_error(RuntimeError)
153
164
  }
154
165
  end
155
166
  end
@@ -181,5 +192,4 @@ describe RubyXL::Workbook do
181
192
  expect(wb2.get_defined_name('TEST2')).to be_nil
182
193
  end
183
194
  end
184
-
185
195
  end