rubyXL 3.4.18 → 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 (453) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -8
  3. data/Gemfile.lock +37 -30
  4. data/README.rdoc +18 -9
  5. data/Rakefile +24 -25
  6. data/VERSION +1 -1
  7. data/lib/rubyXL/cell.rb +2 -4
  8. data/lib/rubyXL/convenience_methods/cell.rb +35 -31
  9. data/lib/rubyXL/convenience_methods/color.rb +3 -7
  10. data/lib/rubyXL/convenience_methods/workbook.rb +9 -4
  11. data/lib/rubyXL/convenience_methods/worksheet.rb +3 -4
  12. data/lib/rubyXL/objects/border.rb +0 -3
  13. data/lib/rubyXL/objects/calculation_chain.rb +2 -2
  14. data/lib/rubyXL/objects/cell_style.rb +1 -3
  15. data/lib/rubyXL/objects/chartsheet.rb +5 -9
  16. data/lib/rubyXL/objects/color.rb +1 -3
  17. data/lib/rubyXL/objects/column_range.rb +0 -3
  18. data/lib/rubyXL/objects/comments.rb +1 -4
  19. data/lib/rubyXL/objects/connection.rb +11 -11
  20. data/lib/rubyXL/objects/container_nodes.rb +1 -5
  21. data/lib/rubyXL/objects/content_types.rb +3 -6
  22. data/lib/rubyXL/objects/data_validation.rb +0 -2
  23. data/lib/rubyXL/objects/document_properties.rb +9 -13
  24. data/lib/rubyXL/objects/extensions.rb +0 -2
  25. data/lib/rubyXL/objects/external_links.rb +4 -6
  26. data/lib/rubyXL/objects/fill.rb +2 -5
  27. data/lib/rubyXL/objects/filters.rb +5 -7
  28. data/lib/rubyXL/objects/font.rb +2 -4
  29. data/lib/rubyXL/objects/formula.rb +3 -5
  30. data/lib/rubyXL/objects/ooxml_object.rb +13 -18
  31. data/lib/rubyXL/objects/query_table.rb +3 -3
  32. data/lib/rubyXL/objects/reference.rb +6 -8
  33. data/lib/rubyXL/objects/relationships.rb +5 -10
  34. data/lib/rubyXL/objects/root.rb +0 -2
  35. data/lib/rubyXL/objects/shared_strings.rb +3 -6
  36. data/lib/rubyXL/objects/sheet_common.rb +1 -3
  37. data/lib/rubyXL/objects/sheet_data.rb +4 -7
  38. data/lib/rubyXL/objects/simple_types.rb +3 -1
  39. data/lib/rubyXL/objects/storage.rb +51 -51
  40. data/lib/rubyXL/objects/stylesheet.rb +8 -15
  41. data/lib/rubyXL/objects/text.rb +5 -7
  42. data/lib/rubyXL/objects/theme.rb +4 -7
  43. data/lib/rubyXL/objects/workbook.rb +25 -27
  44. data/lib/rubyXL/objects/worksheet.rb +26 -22
  45. data/lib/rubyXL/parser.rb +1 -3
  46. data/lib/rubyXL/worksheet.rb +83 -84
  47. data/lib/rubyXL.rb +0 -1
  48. data/rdoc/README_rdoc.html +29 -24
  49. data/rdoc/RubyXL/AExtension.html +2 -2
  50. data/rdoc/RubyXL/AExtensionStorageArea.html +2 -2
  51. data/rdoc/RubyXL/ActiveX.html +4 -4
  52. data/rdoc/RubyXL/ActiveXBinary.html +2 -2
  53. data/rdoc/RubyXL/AdjustHandleList.html +2 -2
  54. data/rdoc/RubyXL/Alignment.html +2 -2
  55. data/rdoc/RubyXL/AlternateContent.html +2 -2
  56. data/rdoc/RubyXL/Authors.html +2 -2
  57. data/rdoc/RubyXL/AutoFilter.html +2 -2
  58. data/rdoc/RubyXL/AutoFilterColumn.html +2 -2
  59. data/rdoc/RubyXL/BinaryImageFile.html +2 -2
  60. data/rdoc/RubyXL/BodyProperties.html +2 -2
  61. data/rdoc/RubyXL/BooleanNode.html +2 -2
  62. data/rdoc/RubyXL/BooleanValue.html +2 -2
  63. data/rdoc/RubyXL/Border.html +6 -6
  64. data/rdoc/RubyXL/BorderEdge.html +4 -4
  65. data/rdoc/RubyXL/Borders.html +3 -3
  66. data/rdoc/RubyXL/Break.html +2 -2
  67. data/rdoc/RubyXL/BreakList.html +2 -2
  68. data/rdoc/RubyXL/CT_AdjPoint2D.html +2 -2
  69. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +2 -2
  70. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +2 -2
  71. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +2 -2
  72. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +2 -2
  73. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +2 -2
  74. data/rdoc/RubyXL/CT_Backdrop.html +2 -2
  75. data/rdoc/RubyXL/CT_Bevel.html +2 -2
  76. data/rdoc/RubyXL/CT_BiLevelEffect.html +2 -2
  77. data/rdoc/RubyXL/CT_BlendEffect.html +2 -2
  78. data/rdoc/RubyXL/CT_Blip.html +2 -2
  79. data/rdoc/RubyXL/CT_BlipFillProperties.html +2 -2
  80. data/rdoc/RubyXL/CT_BlurEffect.html +2 -2
  81. data/rdoc/RubyXL/CT_Camera.html +2 -2
  82. data/rdoc/RubyXL/CT_Color.html +2 -2
  83. data/rdoc/RubyXL/CT_ColorChangeEffect.html +2 -2
  84. data/rdoc/RubyXL/CT_ColorMapping.html +2 -2
  85. data/rdoc/RubyXL/CT_ColorScheme.html +2 -2
  86. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +2 -2
  87. data/rdoc/RubyXL/CT_ConnectionSite.html +2 -2
  88. data/rdoc/RubyXL/CT_ConnectionSiteList.html +2 -2
  89. data/rdoc/RubyXL/CT_DashStop.html +2 -2
  90. data/rdoc/RubyXL/CT_DashStopList.html +2 -2
  91. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +2 -2
  92. data/rdoc/RubyXL/CT_DuotoneEffect.html +2 -2
  93. data/rdoc/RubyXL/CT_EffectContainer.html +2 -2
  94. data/rdoc/RubyXL/CT_EffectList.html +2 -2
  95. data/rdoc/RubyXL/CT_EffectReference.html +2 -2
  96. data/rdoc/RubyXL/CT_EffectStyleItem.html +2 -2
  97. data/rdoc/RubyXL/CT_EffectStyleList.html +2 -2
  98. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +2 -2
  99. data/rdoc/RubyXL/CT_FillEffect.html +2 -2
  100. data/rdoc/RubyXL/CT_FillOverlayEffect.html +2 -2
  101. data/rdoc/RubyXL/CT_FillStyleList.html +2 -2
  102. data/rdoc/RubyXL/CT_FlatText.html +2 -2
  103. data/rdoc/RubyXL/CT_FontCollection.html +2 -2
  104. data/rdoc/RubyXL/CT_FontReference.html +2 -2
  105. data/rdoc/RubyXL/CT_GeomGuideList.html +2 -2
  106. data/rdoc/RubyXL/CT_GlowEffect.html +2 -2
  107. data/rdoc/RubyXL/CT_GradientFillProperties.html +2 -2
  108. data/rdoc/RubyXL/CT_GradientStop.html +2 -2
  109. data/rdoc/RubyXL/CT_GradientStopList.html +2 -2
  110. data/rdoc/RubyXL/CT_HSLEffect.html +2 -2
  111. data/rdoc/RubyXL/CT_HslColor.html +2 -2
  112. data/rdoc/RubyXL/CT_Hyperlink.html +2 -2
  113. data/rdoc/RubyXL/CT_InnerShadowEffect.html +2 -2
  114. data/rdoc/RubyXL/CT_LightRig.html +2 -2
  115. data/rdoc/RubyXL/CT_LineEndProperties.html +2 -2
  116. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +2 -2
  117. data/rdoc/RubyXL/CT_LineProperties.html +2 -2
  118. data/rdoc/RubyXL/CT_LineStyleList.html +2 -2
  119. data/rdoc/RubyXL/CT_LinearShadeProperties.html +2 -2
  120. data/rdoc/RubyXL/CT_LuminanceEffect.html +2 -2
  121. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +2 -2
  122. data/rdoc/RubyXL/CT_OuterShadowEffect.html +2 -2
  123. data/rdoc/RubyXL/CT_Path2D.html +2 -2
  124. data/rdoc/RubyXL/CT_Path2DArcTo.html +2 -2
  125. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +2 -2
  126. data/rdoc/RubyXL/CT_Path2DList.html +2 -2
  127. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +2 -2
  128. data/rdoc/RubyXL/CT_Path2DTo.html +2 -2
  129. data/rdoc/RubyXL/CT_PathShadeProperties.html +2 -2
  130. data/rdoc/RubyXL/CT_PatternFillProperties.html +2 -2
  131. data/rdoc/RubyXL/CT_Point3D.html +2 -2
  132. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +2 -2
  133. data/rdoc/RubyXL/CT_PresetColor.html +2 -2
  134. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +2 -2
  135. data/rdoc/RubyXL/CT_PresetShadowEffect.html +2 -2
  136. data/rdoc/RubyXL/CT_PresetTextShape.html +2 -2
  137. data/rdoc/RubyXL/CT_ReflectionEffect.html +2 -2
  138. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +2 -2
  139. data/rdoc/RubyXL/CT_RelativeRect.html +2 -2
  140. data/rdoc/RubyXL/CT_SRgbColor.html +2 -2
  141. data/rdoc/RubyXL/CT_ScRgbColor.html +2 -2
  142. data/rdoc/RubyXL/CT_Scene3D.html +2 -2
  143. data/rdoc/RubyXL/CT_SchemeColor.html +2 -2
  144. data/rdoc/RubyXL/CT_Shape3D.html +2 -2
  145. data/rdoc/RubyXL/CT_ShapeStyle.html +2 -2
  146. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +2 -2
  147. data/rdoc/RubyXL/CT_SphereCoords.html +2 -2
  148. data/rdoc/RubyXL/CT_StretchInfoProperties.html +2 -2
  149. data/rdoc/RubyXL/CT_StyleMatrix.html +2 -2
  150. data/rdoc/RubyXL/CT_StyleMatrixReference.html +2 -2
  151. data/rdoc/RubyXL/CT_SupplementalFont.html +2 -2
  152. data/rdoc/RubyXL/CT_SystemColor.html +2 -2
  153. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +2 -2
  154. data/rdoc/RubyXL/CT_TextBlipBullet.html +2 -2
  155. data/rdoc/RubyXL/CT_TextCharBullet.html +2 -2
  156. data/rdoc/RubyXL/CT_TextCharacterProperties.html +2 -2
  157. data/rdoc/RubyXL/CT_TextFont.html +2 -2
  158. data/rdoc/RubyXL/CT_TextListStyle.html +2 -2
  159. data/rdoc/RubyXL/CT_TextNormalAutofit.html +2 -2
  160. data/rdoc/RubyXL/CT_TextParagraphProperties.html +2 -2
  161. data/rdoc/RubyXL/CT_TextSpacing.html +2 -2
  162. data/rdoc/RubyXL/CT_TextTabStop.html +2 -2
  163. data/rdoc/RubyXL/CT_TextTabStopList.html +2 -2
  164. data/rdoc/RubyXL/CT_TileInfoProperties.html +2 -2
  165. data/rdoc/RubyXL/CT_TintEffect.html +2 -2
  166. data/rdoc/RubyXL/CT_Transform2D.html +2 -2
  167. data/rdoc/RubyXL/CT_TransformEffect.html +2 -2
  168. data/rdoc/RubyXL/CT_Vector3D.html +2 -2
  169. data/rdoc/RubyXL/CT_XYAdjustHandle.html +2 -2
  170. data/rdoc/RubyXL/CalculationChain.html +2 -2
  171. data/rdoc/RubyXL/CalculationChainCell.html +2 -2
  172. data/rdoc/RubyXL/CalculationProperties.html +2 -2
  173. data/rdoc/RubyXL/Cell.html +17 -17
  174. data/rdoc/RubyXL/CellConvenienceMethods.html +105 -51
  175. data/rdoc/RubyXL/CellExt.html +2 -2
  176. data/rdoc/RubyXL/CellSmartTag.html +2 -2
  177. data/rdoc/RubyXL/CellSmartTagProperty.html +2 -2
  178. data/rdoc/RubyXL/CellSmartTags.html +2 -2
  179. data/rdoc/RubyXL/CellStyle.html +2 -2
  180. data/rdoc/RubyXL/CellStyleXFs.html +3 -3
  181. data/rdoc/RubyXL/CellStyles.html +3 -3
  182. data/rdoc/RubyXL/CellValue.html +3 -3
  183. data/rdoc/RubyXL/CellWatch.html +2 -2
  184. data/rdoc/RubyXL/CellWatches.html +2 -2
  185. data/rdoc/RubyXL/CellXFs.html +4 -6
  186. data/rdoc/RubyXL/ChartColorsFile.html +2 -2
  187. data/rdoc/RubyXL/ChartFile.html +3 -3
  188. data/rdoc/RubyXL/ChartStyleFile.html +2 -2
  189. data/rdoc/RubyXL/ChartUserShapesFile.html +2 -2
  190. data/rdoc/RubyXL/Chartsheet.html +3 -3
  191. data/rdoc/RubyXL/ChartsheetPageSetup.html +2 -2
  192. data/rdoc/RubyXL/ChartsheetProperties.html +2 -2
  193. data/rdoc/RubyXL/ChartsheetProtection.html +2 -2
  194. data/rdoc/RubyXL/ChartsheetView.html +2 -2
  195. data/rdoc/RubyXL/ChartsheetViews.html +2 -2
  196. data/rdoc/RubyXL/Color.html +4 -4
  197. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +4 -4
  198. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +8 -8
  199. data/rdoc/RubyXL/ColorConvenienceClasses.html +2 -2
  200. data/rdoc/RubyXL/ColorConvenienceMethods.html +3 -3
  201. data/rdoc/RubyXL/ColorFilter.html +2 -2
  202. data/rdoc/RubyXL/ColorScale.html +2 -2
  203. data/rdoc/RubyXL/ColorSet.html +2 -2
  204. data/rdoc/RubyXL/Colors.html +2 -2
  205. data/rdoc/RubyXL/ColumnRange.html +5 -5
  206. data/rdoc/RubyXL/ColumnRanges.html +6 -6
  207. data/rdoc/RubyXL/Comment.html +2 -2
  208. data/rdoc/RubyXL/CommentList.html +2 -2
  209. data/rdoc/RubyXL/CommentsFile.html +3 -3
  210. data/rdoc/RubyXL/ConditionalFormatValue.html +2 -2
  211. data/rdoc/RubyXL/ConditionalFormatting.html +2 -2
  212. data/rdoc/RubyXL/ConditionalFormattingRule.html +2 -2
  213. data/rdoc/RubyXL/Connection.html +2 -2
  214. data/rdoc/RubyXL/ConnectionTable.html +2 -2
  215. data/rdoc/RubyXL/ConnectionTables.html +2 -2
  216. data/rdoc/RubyXL/ConnectionTextField.html +2 -2
  217. data/rdoc/RubyXL/ConnectionTextFields.html +2 -2
  218. data/rdoc/RubyXL/Connections.html +2 -2
  219. data/rdoc/RubyXL/ContentTypeDefault.html +2 -2
  220. data/rdoc/RubyXL/ContentTypeOverride.html +2 -2
  221. data/rdoc/RubyXL/ContentTypes.html +6 -6
  222. data/rdoc/RubyXL/ControlPropertiesFile.html +2 -2
  223. data/rdoc/RubyXL/CorePropertiesFile.html +11 -11
  224. data/rdoc/RubyXL/CustomColor.html +2 -2
  225. data/rdoc/RubyXL/CustomColorList.html +2 -2
  226. data/rdoc/RubyXL/CustomFilter.html +2 -2
  227. data/rdoc/RubyXL/CustomFilters.html +2 -2
  228. data/rdoc/RubyXL/CustomGeometry.html +2 -2
  229. data/rdoc/RubyXL/CustomProperties.html +2 -2
  230. data/rdoc/RubyXL/CustomPropertiesFile.html +2 -2
  231. data/rdoc/RubyXL/CustomProperty.html +2 -2
  232. data/rdoc/RubyXL/CustomPropertyFile.html +2 -2
  233. data/rdoc/RubyXL/CustomSheetView.html +2 -2
  234. data/rdoc/RubyXL/CustomSheetViews.html +2 -2
  235. data/rdoc/RubyXL/CustomWorkbookView.html +2 -2
  236. data/rdoc/RubyXL/CustomWorkbookViews.html +2 -2
  237. data/rdoc/RubyXL/CustomXMLFile.html +2 -2
  238. data/rdoc/RubyXL/DXF.html +2 -2
  239. data/rdoc/RubyXL/DXFs.html +2 -2
  240. data/rdoc/RubyXL/DataBar.html +2 -2
  241. data/rdoc/RubyXL/DataConsolidate.html +2 -2
  242. data/rdoc/RubyXL/DataConsolidationReference.html +2 -2
  243. data/rdoc/RubyXL/DataConsolidationReferences.html +2 -2
  244. data/rdoc/RubyXL/DataType.html +2 -2
  245. data/rdoc/RubyXL/DataValidation.html +2 -2
  246. data/rdoc/RubyXL/DataValidations.html +2 -2
  247. data/rdoc/RubyXL/DateGroupItem.html +2 -2
  248. data/rdoc/RubyXL/DefinedName.html +2 -2
  249. data/rdoc/RubyXL/DefinedNameExt.html +2 -2
  250. data/rdoc/RubyXL/DefinedNames.html +2 -2
  251. data/rdoc/RubyXL/DefinedNamesExt.html +2 -2
  252. data/rdoc/RubyXL/DocumentPropertiesFile.html +4 -4
  253. data/rdoc/RubyXL/DrawingFile.html +3 -3
  254. data/rdoc/RubyXL/DynamicFilter.html +2 -2
  255. data/rdoc/RubyXL/EmbeddedControl.html +2 -2
  256. data/rdoc/RubyXL/EmbeddedControls.html +2 -2
  257. data/rdoc/RubyXL/Extension.html +2 -2
  258. data/rdoc/RubyXL/ExtensionStorageArea.html +2 -2
  259. data/rdoc/RubyXL/Extents.html +2 -2
  260. data/rdoc/RubyXL/ExternalBook.html +2 -2
  261. data/rdoc/RubyXL/ExternalLinksFile.html +3 -3
  262. data/rdoc/RubyXL/ExternalReference.html +2 -2
  263. data/rdoc/RubyXL/ExternalReferences.html +2 -2
  264. data/rdoc/RubyXL/ExtraColorSchemeList.html +2 -2
  265. data/rdoc/RubyXL/FieldItem.html +2 -2
  266. data/rdoc/RubyXL/FileRecoveryProperties.html +2 -2
  267. data/rdoc/RubyXL/FileSharing.html +2 -2
  268. data/rdoc/RubyXL/FileVersion.html +2 -2
  269. data/rdoc/RubyXL/Fill.html +3 -3
  270. data/rdoc/RubyXL/Fills.html +3 -3
  271. data/rdoc/RubyXL/FilterContainer.html +2 -2
  272. data/rdoc/RubyXL/FloatNode.html +2 -2
  273. data/rdoc/RubyXL/FloatValue.html +2 -2
  274. data/rdoc/RubyXL/Font.html +5 -5
  275. data/rdoc/RubyXL/FontConvenienceMethods.html +3 -3
  276. data/rdoc/RubyXL/FontScheme.html +2 -2
  277. data/rdoc/RubyXL/Fonts.html +3 -3
  278. data/rdoc/RubyXL/Formula.html +2 -2
  279. data/rdoc/RubyXL/FunctionGroup.html +2 -2
  280. data/rdoc/RubyXL/FunctionGroups.html +2 -2
  281. data/rdoc/RubyXL/GenericStorageObject.html +5 -5
  282. data/rdoc/RubyXL/GradientFill.html +2 -2
  283. data/rdoc/RubyXL/HeaderFooterSettings.html +2 -2
  284. data/rdoc/RubyXL/Hyperlink.html +2 -2
  285. data/rdoc/RubyXL/HyperlinkRelFile.html +2 -2
  286. data/rdoc/RubyXL/Hyperlinks.html +2 -2
  287. data/rdoc/RubyXL/IconFilter.html +2 -2
  288. data/rdoc/RubyXL/IconSet.html +2 -2
  289. data/rdoc/RubyXL/IgnoredError.html +2 -2
  290. data/rdoc/RubyXL/IgnoredErrors.html +2 -2
  291. data/rdoc/RubyXL/IndexedColors.html +2 -2
  292. data/rdoc/RubyXL/InputCells.html +2 -2
  293. data/rdoc/RubyXL/IntegerNode.html +2 -2
  294. data/rdoc/RubyXL/IntegerValue.html +2 -2
  295. data/rdoc/RubyXL/LegacyCell.html +3 -3
  296. data/rdoc/RubyXL/LegacyWorksheet.html +3 -3
  297. data/rdoc/RubyXL/MRUColors.html +2 -2
  298. data/rdoc/RubyXL/MacrosFile.html +2 -2
  299. data/rdoc/RubyXL/MergedCell.html +2 -2
  300. data/rdoc/RubyXL/MergedCells.html +2 -2
  301. data/rdoc/RubyXL/NumFmt.html +2 -2
  302. data/rdoc/RubyXL/NumberFormat.html +4 -4
  303. data/rdoc/RubyXL/NumberFormats.html +3 -3
  304. data/rdoc/RubyXL/OLEObject.html +2 -2
  305. data/rdoc/RubyXL/OLEObjectFile.html +2 -2
  306. data/rdoc/RubyXL/OLEObjects.html +2 -2
  307. data/rdoc/RubyXL/OLESize.html +2 -2
  308. data/rdoc/RubyXL/OOXMLContainerObject.html +8 -8
  309. data/rdoc/RubyXL/OOXMLIgnored.html +4 -4
  310. data/rdoc/RubyXL/OOXMLObject.html +3 -3
  311. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +18 -18
  312. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +14 -14
  313. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +16 -16
  314. data/rdoc/RubyXL/OOXMLTopLevelObject.html +8 -8
  315. data/rdoc/RubyXL/OdbcOleDbProperties.html +2 -2
  316. data/rdoc/RubyXL/Offset.html +2 -2
  317. data/rdoc/RubyXL/OlapProperties.html +2 -2
  318. data/rdoc/RubyXL/OleItem.html +2 -2
  319. data/rdoc/RubyXL/OleItems.html +2 -2
  320. data/rdoc/RubyXL/OleLink.html +2 -2
  321. data/rdoc/RubyXL/OutlineProperties.html +2 -2
  322. data/rdoc/RubyXL/PageMargins.html +2 -2
  323. data/rdoc/RubyXL/PageSetup.html +2 -2
  324. data/rdoc/RubyXL/PageSetupProperties.html +2 -2
  325. data/rdoc/RubyXL/Pane.html +2 -2
  326. data/rdoc/RubyXL/Parser.html +5 -5
  327. data/rdoc/RubyXL/PatternFill.html +2 -2
  328. data/rdoc/RubyXL/PhoneticProperties.html +2 -2
  329. data/rdoc/RubyXL/PhoneticRun.html +2 -2
  330. data/rdoc/RubyXL/PivotArea.html +2 -2
  331. data/rdoc/RubyXL/PivotCache.html +2 -2
  332. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +2 -2
  333. data/rdoc/RubyXL/PivotCacheRecordsFile.html +2 -2
  334. data/rdoc/RubyXL/PivotCaches.html +2 -2
  335. data/rdoc/RubyXL/PivotReference.html +2 -2
  336. data/rdoc/RubyXL/PivotReferences.html +2 -2
  337. data/rdoc/RubyXL/PivotTableFile.html +2 -2
  338. data/rdoc/RubyXL/PivotTableSelection.html +2 -2
  339. data/rdoc/RubyXL/PresetGeometry.html +2 -2
  340. data/rdoc/RubyXL/PrintOptions.html +2 -2
  341. data/rdoc/RubyXL/PrinterSettingsFile.html +2 -2
  342. data/rdoc/RubyXL/ProtectedRange.html +2 -2
  343. data/rdoc/RubyXL/ProtectedRanges.html +2 -2
  344. data/rdoc/RubyXL/Protection.html +2 -2
  345. data/rdoc/RubyXL/QueryParameter.html +2 -2
  346. data/rdoc/RubyXL/QueryParameters.html +2 -2
  347. data/rdoc/RubyXL/QueryTable.html +2 -2
  348. data/rdoc/RubyXL/QueryTableDeletedField.html +2 -2
  349. data/rdoc/RubyXL/QueryTableDeletedFields.html +2 -2
  350. data/rdoc/RubyXL/QueryTableField.html +2 -2
  351. data/rdoc/RubyXL/QueryTableFields.html +2 -2
  352. data/rdoc/RubyXL/QueryTableRefresh.html +2 -2
  353. data/rdoc/RubyXL/RID.html +2 -2
  354. data/rdoc/RubyXL/RawOOXML.html +4 -4
  355. data/rdoc/RubyXL/Reference.html +36 -17
  356. data/rdoc/RubyXL/Relationship.html +2 -2
  357. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +3 -3
  358. data/rdoc/RubyXL/RelationshipSupport.html +8 -8
  359. data/rdoc/RubyXL/RevisionPointer.html +2 -2
  360. data/rdoc/RubyXL/RichText.html +5 -4
  361. data/rdoc/RubyXL/RichTextRun.html +3 -3
  362. data/rdoc/RubyXL/Row.html +11 -11
  363. data/rdoc/RubyXL/RowExt.html +2 -2
  364. data/rdoc/RubyXL/RunProperties.html +2 -2
  365. data/rdoc/RubyXL/Scenario.html +2 -2
  366. data/rdoc/RubyXL/Scenarios.html +2 -2
  367. data/rdoc/RubyXL/Selection.html +3 -3
  368. data/rdoc/RubyXL/ShapeGuide.html +2 -2
  369. data/rdoc/RubyXL/ShapeTextRectangle.html +2 -2
  370. data/rdoc/RubyXL/SharedStringsTable.html +9 -9
  371. data/rdoc/RubyXL/Sheet.html +2 -2
  372. data/rdoc/RubyXL/SheetCalculationProperties.html +2 -2
  373. data/rdoc/RubyXL/SheetData.html +4 -4
  374. data/rdoc/RubyXL/SheetDataExt.html +2 -2
  375. data/rdoc/RubyXL/SheetDataSet.html +2 -2
  376. data/rdoc/RubyXL/SheetMetadata.html +108 -0
  377. data/rdoc/RubyXL/SheetName.html +2 -2
  378. data/rdoc/RubyXL/SheetNames.html +2 -2
  379. data/rdoc/RubyXL/Sheets.html +2 -2
  380. data/rdoc/RubyXL/SlicerCacheFile.html +2 -2
  381. data/rdoc/RubyXL/SlicerFile.html +2 -2
  382. data/rdoc/RubyXL/SmartTagProperties.html +2 -2
  383. data/rdoc/RubyXL/SmartTagType.html +2 -2
  384. data/rdoc/RubyXL/SmartTagTypes.html +2 -2
  385. data/rdoc/RubyXL/SmartTags.html +2 -2
  386. data/rdoc/RubyXL/SortCondition.html +2 -2
  387. data/rdoc/RubyXL/SortState.html +2 -2
  388. data/rdoc/RubyXL/Sqref.html +4 -4
  389. data/rdoc/RubyXL/Stop.html +2 -2
  390. data/rdoc/RubyXL/StringNode.html +2 -2
  391. data/rdoc/RubyXL/StringNodeW3C.html +4 -4
  392. data/rdoc/RubyXL/StringValue.html +2 -2
  393. data/rdoc/RubyXL/Stylesheet.html +7 -7
  394. data/rdoc/RubyXL/TableFile.html +2 -2
  395. data/rdoc/RubyXL/TableParts.html +2 -2
  396. data/rdoc/RubyXL/TableStyle.html +2 -2
  397. data/rdoc/RubyXL/TableStyles.html +2 -2
  398. data/rdoc/RubyXL/Text.html +6 -6
  399. data/rdoc/RubyXL/TextImportSettings.html +2 -2
  400. data/rdoc/RubyXL/Theme.html +5 -5
  401. data/rdoc/RubyXL/ThemeElements.html +2 -2
  402. data/rdoc/RubyXL/ThumbnailFile.html +2 -2
  403. data/rdoc/RubyXL/Top10.html +2 -2
  404. data/rdoc/RubyXL/VMLDrawingFile.html +3 -3
  405. data/rdoc/RubyXL/Variant.html +2 -2
  406. data/rdoc/RubyXL/Vector.html +3 -3
  407. data/rdoc/RubyXL/VectorValue.html +2 -2
  408. data/rdoc/RubyXL/VisualProperties.html +2 -2
  409. data/rdoc/RubyXL/WebPublishObject.html +2 -2
  410. data/rdoc/RubyXL/WebPublishObjects.html +2 -2
  411. data/rdoc/RubyXL/WebPublishingItem.html +2 -2
  412. data/rdoc/RubyXL/WebPublishingItems.html +2 -2
  413. data/rdoc/RubyXL/WebPublishingProperties.html +2 -2
  414. data/rdoc/RubyXL/WebQueryProperties.html +2 -2
  415. data/rdoc/RubyXL/Workbook.html +9 -6
  416. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +65 -21
  417. data/rdoc/RubyXL/WorkbookProperties.html +2 -2
  418. data/rdoc/RubyXL/WorkbookProtection.html +2 -2
  419. data/rdoc/RubyXL/WorkbookRoot.html +7 -7
  420. data/rdoc/RubyXL/WorkbookView.html +2 -2
  421. data/rdoc/RubyXL/WorkbookViews.html +2 -2
  422. data/rdoc/RubyXL/Worksheet.html +32 -8
  423. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +75 -75
  424. data/rdoc/RubyXL/WorksheetDimensions.html +2 -2
  425. data/rdoc/RubyXL/WorksheetFormatProperties.html +2 -2
  426. data/rdoc/RubyXL/WorksheetProperties.html +2 -2
  427. data/rdoc/RubyXL/WorksheetProtection.html +2 -2
  428. data/rdoc/RubyXL/WorksheetView.html +2 -2
  429. data/rdoc/RubyXL/WorksheetViews.html +2 -2
  430. data/rdoc/RubyXL/XF.html +2 -2
  431. data/rdoc/RubyXL.html +4 -2
  432. data/rdoc/created.rid +44 -44
  433. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  434. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  435. data/rdoc/index.html +4 -3
  436. data/rdoc/js/navigation.js.gz +0 -0
  437. data/rdoc/js/search_index.js +1 -1
  438. data/rdoc/js/search_index.js.gz +0 -0
  439. data/rdoc/js/searcher.js.gz +0 -0
  440. data/rdoc/table_of_contents.html +37 -3
  441. data/rubyXL.gemspec +5 -4
  442. data/spec/lib/cell_spec.rb +14 -7
  443. data/spec/lib/color_spec.rb +1 -1
  444. data/spec/lib/parser_spec.rb +24 -27
  445. data/spec/lib/reference_spec.rb +9 -3
  446. data/spec/lib/rgb_color_spec.rb +14 -3
  447. data/spec/lib/stylesheet_spec.rb +8 -11
  448. data/spec/lib/text_spec.rb +1 -5
  449. data/spec/lib/workbook_spec.rb +14 -4
  450. data/spec/lib/worksheet_spec.rb +577 -535
  451. data/spec/spec_helper.rb +2 -0
  452. data/test/test_parse_write.rb +3 -3
  453. metadata +4 -3
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.18</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 = "./";
@@ -23,7 +23,7 @@
23
23
 
24
24
  <body id="top" class="table-of-contents">
25
25
  <main role="main">
26
- <h1 class="class">Table of Contents - rubyXL 3.4.18</h1>
26
+ <h1 class="class">Table of Contents - rubyXL 3.4.25</h1>
27
27
 
28
28
  <h2 id="pages">Pages</h2>
29
29
  <ul>
@@ -66,6 +66,7 @@
66
66
  <li><a href="README_rdoc.html#label-Insert+Cell">Insert Cell</a>
67
67
  <li><a href="README_rdoc.html#label-Delete+Cell">Delete Cell</a>
68
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>
69
70
  <li><a href="README_rdoc.html#label-I-2FO">I/O</a>
70
71
  <li><a href="README_rdoc.html#label-Miscellaneous">Miscellaneous</a>
71
72
  <li><a href="README_rdoc.html#label-Suppress+warnings+about+malformed+input+files">Suppress warnings about malformed input files</a>
@@ -1063,6 +1064,9 @@
1063
1064
  <li class="class">
1064
1065
  <a href="RubyXL/SheetDataSet.html">RubyXL::SheetDataSet</a>
1065
1066
  </li>
1067
+ <li class="class">
1068
+ <a href="RubyXL/SheetMetadata.html">RubyXL::SheetMetadata</a>
1069
+ </li>
1066
1070
  <li class="class">
1067
1071
  <a href="RubyXL/SheetName.html">RubyXL::SheetName</a>
1068
1072
  </li>
@@ -1485,6 +1489,11 @@
1485
1489
  &mdash;
1486
1490
  <span class="container">RubyXL::LegacyWorksheet</span>
1487
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
+
1488
1497
  <li class="method">
1489
1498
  <a href="RubyXL/OOXMLRelationshipsFile.html#method-i-add_relationship">#add_relationship</a>
1490
1499
  &mdash;
@@ -1635,6 +1644,11 @@
1635
1644
  &mdash;
1636
1645
  <span class="container">RubyXL::WorkbookConvenienceMethods</span>
1637
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
+
1638
1652
  <li class="method">
1639
1653
  <a href="RubyXL/WorkbookConvenienceMethods.html#method-i-cell_xfs">#cell_xfs</a>
1640
1654
  &mdash;
@@ -1855,6 +1869,11 @@
1855
1869
  &mdash;
1856
1870
  <span class="container">RubyXL::WorksheetConvenienceMethods</span>
1857
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
+
1858
1877
  <li class="method">
1859
1878
  <a href="RubyXL/CellConvenienceMethods.html#method-i-change_text_indent">#change_text_indent</a>
1860
1879
  &mdash;
@@ -2790,6 +2809,16 @@
2790
2809
  &mdash;
2791
2810
  <span class="container">RubyXL::CellConvenienceMethods</span>
2792
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
+
2793
2822
  <li class="method">
2794
2823
  <a href="RubyXL/ColorConvenienceClasses/RgbColor.html#method-i-to_hls">#to_hls</a>
2795
2824
  &mdash;
@@ -2835,6 +2864,11 @@
2835
2864
  &mdash;
2836
2865
  <span class="container">RubyXL::StringNodeW3C</span>
2837
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
+
2838
2872
  <li class="method">
2839
2873
  <a href="RubyXL/Cell.html#method-i-value">#value</a>
2840
2874
  &mdash;
@@ -2970,7 +3004,7 @@
2970
3004
 
2971
3005
  <footer id="validator-badges" role="contentinfo">
2972
3006
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
2973
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
3007
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.
2974
3008
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
2975
3009
  </footer>
2976
3010
 
data/rubyXL.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rubyXL 3.4.18 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.18"
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 = "2021-08-03"
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 = [
@@ -399,6 +399,7 @@ Gem::Specification.new do |s|
399
399
  "rdoc/RubyXL/SheetData.html",
400
400
  "rdoc/RubyXL/SheetDataExt.html",
401
401
  "rdoc/RubyXL/SheetDataSet.html",
402
+ "rdoc/RubyXL/SheetMetadata.html",
402
403
  "rdoc/RubyXL/SheetName.html",
403
404
  "rdoc/RubyXL/SheetNames.html",
404
405
  "rdoc/RubyXL/Sheets.html",
@@ -515,7 +516,7 @@ Gem::Specification.new do |s|
515
516
  ]
516
517
  s.homepage = "http://github.com/gilt/rubyXL".freeze
517
518
  s.licenses = ["MIT".freeze]
518
- s.rubygems_version = "3.1.6".freeze
519
+ s.rubygems_version = "3.3.12".freeze
519
520
  s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
520
521
 
521
522
  if s.respond_to? :specification_version then
@@ -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')
@@ -55,13 +54,13 @@ describe RubyXL::Cell do
55
54
  # Due to rounding errors, we allow microsecond precision on Time.
56
55
  expect(cell.value - tm.to_datetime).to be_within(1.0/86400e6).of(0)
57
56
 
58
- expected_date = "2020-10-15T14:00:00Z"
57
+ expected_date = '2020-10-15T14:00:00Z'
59
58
  expected_datetime = Time.parse(expected_date).utc
60
- raw_value = "44119.583333333328" # Obtained from parsing a xlsx file with the expected date
59
+ raw_value = '44119.583333333328' # Obtained from parsing a xlsx file with the expected date
61
60
  cell = @worksheet.add_cell(r, c, Time.now) # Force a date cell type
62
61
  cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
63
62
  cell.raw_value = raw_value
64
- expect(cell.raw_value).to eq(raw_value), "Wrong raw value"
63
+ expect(cell.raw_value).to eq(raw_value), 'Wrong raw value'
65
64
  cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
66
65
 
67
66
  # We expect exactly the same date
@@ -190,7 +189,7 @@ describe RubyXL::Cell do
190
189
  expect(@cell.text_indent).to eq(2)
191
190
  end
192
191
 
193
- 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
194
193
  another_cell = @worksheet[1][0]
195
194
  another_cell.style_index = @cell.style_index
196
195
  expect(another_cell.text_indent).to be_nil
@@ -285,7 +284,7 @@ describe RubyXL::Cell do
285
284
  expect(cell.value).to eq('Hello')
286
285
  end
287
286
 
288
- it "should properly handle numeric values" do
287
+ it 'should properly handle numeric values' do
289
288
  @cell.datatype = nil
290
289
  @cell.raw_value = '1'
291
290
  expect(@cell.value).to eq(1)
@@ -400,6 +399,15 @@ describe RubyXL::Cell do
400
399
  expect(@cell.formula).to be_nil
401
400
  end
402
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
+
403
411
  it 'should case cell value to match a Float that is passed in' do
404
412
  number = 1.25
405
413
  @cell.change_contents(number)
@@ -591,5 +599,4 @@ describe RubyXL::Cell do
591
599
  expect(@cell.text_rotation).to eq(45)
592
600
  end
593
601
  end
594
-
595
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
@@ -3,14 +3,25 @@ require 'rubyXL/convenience_methods/color'
3
3
 
4
4
  describe RubyXL::RgbColor do
5
5
  describe '.to_s' do
6
- it 'should properly translate the color to string' do
6
+ it 'should properly translate RGB color to string' do
7
7
  rgb_color = RubyXL::RgbColor.new
8
8
 
9
9
  rgb_color.r = 1
10
10
  rgb_color.g = 2
11
11
  rgb_color.b = 255
12
12
 
13
- expect(rgb_color.to_s).to eq("0102ff")
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')
14
25
  end
15
26
  end
16
- 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