rubyXL 3.4.25 → 3.4.33

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 (437) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.rubocop.yml +124 -0
  4. data/CHANGELOG.md +12 -0
  5. data/Gemfile +2 -0
  6. data/README.rdoc +6 -4
  7. data/VERSION +1 -1
  8. data/lib/rubyXL/convenience_methods/cell.rb +1 -1
  9. data/lib/rubyXL/convenience_methods/color.rb +6 -6
  10. data/lib/rubyXL/convenience_methods/workbook.rb +1 -5
  11. data/lib/rubyXL/convenience_methods/worksheet.rb +26 -6
  12. data/lib/rubyXL/objects/color.rb +1 -1
  13. data/lib/rubyXL/objects/column_range.rb +16 -12
  14. data/lib/rubyXL/objects/document_properties.rb +1 -0
  15. data/lib/rubyXL/objects/external_links.rb +8 -0
  16. data/lib/rubyXL/objects/ooxml_object.rb +16 -14
  17. data/lib/rubyXL/objects/query_table.rb +4 -2
  18. data/lib/rubyXL/objects/reference.rb +21 -10
  19. data/lib/rubyXL/objects/relationships.rb +1 -1
  20. data/lib/rubyXL/objects/shared_strings.rb +1 -1
  21. data/lib/rubyXL/objects/sheet_data.rb +6 -6
  22. data/lib/rubyXL/objects/storage.rb +6 -1
  23. data/lib/rubyXL/objects/stylesheet.rb +2 -3
  24. data/lib/rubyXL/objects/text.rb +3 -3
  25. data/lib/rubyXL/objects/theme.rb +15 -17
  26. data/lib/rubyXL/objects/workbook.rb +10 -9
  27. data/lib/rubyXL/objects/worksheet.rb +2 -2
  28. data/lib/rubyXL/worksheet.rb +11 -3
  29. data/rdoc/README_rdoc.html +101 -49
  30. data/rdoc/RubyXL/AExtension.html +17 -13
  31. data/rdoc/RubyXL/AExtensionStorageArea.html +3 -3
  32. data/rdoc/RubyXL/ActiveX.html +10 -8
  33. data/rdoc/RubyXL/ActiveXBinary.html +3 -3
  34. data/rdoc/RubyXL/AdjustHandleList.html +3 -3
  35. data/rdoc/RubyXL/Alignment.html +3 -3
  36. data/rdoc/RubyXL/AlternateContent.html +3 -3
  37. data/rdoc/RubyXL/AlternateUrls.html +99 -0
  38. data/rdoc/RubyXL/Authors.html +3 -3
  39. data/rdoc/RubyXL/AutoFilter.html +3 -3
  40. data/rdoc/RubyXL/AutoFilterColumn.html +3 -3
  41. data/rdoc/RubyXL/BinaryImageFile.html +3 -3
  42. data/rdoc/RubyXL/BodyProperties.html +3 -3
  43. data/rdoc/RubyXL/BooleanNode.html +3 -3
  44. data/rdoc/RubyXL/BooleanValue.html +3 -3
  45. data/rdoc/RubyXL/Border.html +27 -19
  46. data/rdoc/RubyXL/BorderEdge.html +15 -11
  47. data/rdoc/RubyXL/Borders.html +9 -7
  48. data/rdoc/RubyXL/Break.html +3 -3
  49. data/rdoc/RubyXL/BreakList.html +3 -3
  50. data/rdoc/RubyXL/CT_AdjPoint2D.html +3 -3
  51. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +3 -3
  52. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +3 -3
  53. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +3 -3
  54. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +3 -3
  55. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +3 -3
  56. data/rdoc/RubyXL/CT_Backdrop.html +3 -3
  57. data/rdoc/RubyXL/CT_Bevel.html +3 -3
  58. data/rdoc/RubyXL/CT_BiLevelEffect.html +3 -3
  59. data/rdoc/RubyXL/CT_BlendEffect.html +3 -3
  60. data/rdoc/RubyXL/CT_Blip.html +3 -3
  61. data/rdoc/RubyXL/CT_BlipFillProperties.html +3 -3
  62. data/rdoc/RubyXL/CT_BlurEffect.html +3 -3
  63. data/rdoc/RubyXL/CT_Camera.html +3 -3
  64. data/rdoc/RubyXL/CT_Color.html +3 -3
  65. data/rdoc/RubyXL/CT_ColorChangeEffect.html +3 -3
  66. data/rdoc/RubyXL/CT_ColorMapping.html +3 -3
  67. data/rdoc/RubyXL/CT_ColorScheme.html +3 -3
  68. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +3 -3
  69. data/rdoc/RubyXL/CT_ConnectionSite.html +3 -3
  70. data/rdoc/RubyXL/CT_ConnectionSiteList.html +3 -3
  71. data/rdoc/RubyXL/CT_DashStop.html +3 -3
  72. data/rdoc/RubyXL/CT_DashStopList.html +3 -3
  73. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +3 -3
  74. data/rdoc/RubyXL/CT_DuotoneEffect.html +3 -3
  75. data/rdoc/RubyXL/CT_EffectContainer.html +3 -3
  76. data/rdoc/RubyXL/CT_EffectList.html +3 -3
  77. data/rdoc/RubyXL/CT_EffectReference.html +3 -3
  78. data/rdoc/RubyXL/CT_EffectStyleItem.html +3 -3
  79. data/rdoc/RubyXL/CT_EffectStyleList.html +3 -3
  80. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +3 -3
  81. data/rdoc/RubyXL/CT_FillEffect.html +3 -3
  82. data/rdoc/RubyXL/CT_FillOverlayEffect.html +3 -3
  83. data/rdoc/RubyXL/CT_FillStyleList.html +3 -3
  84. data/rdoc/RubyXL/CT_FlatText.html +3 -3
  85. data/rdoc/RubyXL/CT_FontCollection.html +3 -3
  86. data/rdoc/RubyXL/CT_FontReference.html +3 -3
  87. data/rdoc/RubyXL/CT_GeomGuideList.html +3 -3
  88. data/rdoc/RubyXL/CT_GlowEffect.html +3 -3
  89. data/rdoc/RubyXL/CT_GradientFillProperties.html +3 -3
  90. data/rdoc/RubyXL/CT_GradientStop.html +3 -3
  91. data/rdoc/RubyXL/CT_GradientStopList.html +3 -3
  92. data/rdoc/RubyXL/CT_HSLEffect.html +3 -3
  93. data/rdoc/RubyXL/CT_HslColor.html +3 -3
  94. data/rdoc/RubyXL/CT_Hyperlink.html +3 -3
  95. data/rdoc/RubyXL/CT_InnerShadowEffect.html +3 -3
  96. data/rdoc/RubyXL/CT_LightRig.html +3 -3
  97. data/rdoc/RubyXL/CT_LineEndProperties.html +3 -3
  98. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +3 -3
  99. data/rdoc/RubyXL/CT_LineProperties.html +3 -3
  100. data/rdoc/RubyXL/CT_LineStyleList.html +3 -3
  101. data/rdoc/RubyXL/CT_LinearShadeProperties.html +3 -3
  102. data/rdoc/RubyXL/CT_LuminanceEffect.html +3 -3
  103. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +3 -3
  104. data/rdoc/RubyXL/CT_OuterShadowEffect.html +3 -3
  105. data/rdoc/RubyXL/CT_Path2D.html +3 -3
  106. data/rdoc/RubyXL/CT_Path2DArcTo.html +3 -3
  107. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +3 -3
  108. data/rdoc/RubyXL/CT_Path2DList.html +3 -3
  109. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +3 -3
  110. data/rdoc/RubyXL/CT_Path2DTo.html +3 -3
  111. data/rdoc/RubyXL/CT_PathShadeProperties.html +3 -3
  112. data/rdoc/RubyXL/CT_PatternFillProperties.html +3 -3
  113. data/rdoc/RubyXL/CT_Point3D.html +3 -3
  114. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +3 -3
  115. data/rdoc/RubyXL/CT_PresetColor.html +3 -3
  116. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +3 -3
  117. data/rdoc/RubyXL/CT_PresetShadowEffect.html +3 -3
  118. data/rdoc/RubyXL/CT_PresetTextShape.html +3 -3
  119. data/rdoc/RubyXL/CT_ReflectionEffect.html +3 -3
  120. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +3 -3
  121. data/rdoc/RubyXL/CT_RelativeRect.html +3 -3
  122. data/rdoc/RubyXL/CT_SRgbColor.html +3 -3
  123. data/rdoc/RubyXL/CT_ScRgbColor.html +3 -3
  124. data/rdoc/RubyXL/CT_Scene3D.html +3 -3
  125. data/rdoc/RubyXL/CT_SchemeColor.html +3 -3
  126. data/rdoc/RubyXL/CT_Shape3D.html +3 -3
  127. data/rdoc/RubyXL/CT_ShapeStyle.html +3 -3
  128. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +3 -3
  129. data/rdoc/RubyXL/CT_SphereCoords.html +3 -3
  130. data/rdoc/RubyXL/CT_StretchInfoProperties.html +3 -3
  131. data/rdoc/RubyXL/CT_StyleMatrix.html +3 -3
  132. data/rdoc/RubyXL/CT_StyleMatrixReference.html +3 -3
  133. data/rdoc/RubyXL/CT_SupplementalFont.html +3 -3
  134. data/rdoc/RubyXL/CT_SystemColor.html +3 -3
  135. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +3 -3
  136. data/rdoc/RubyXL/CT_TextBlipBullet.html +3 -3
  137. data/rdoc/RubyXL/CT_TextCharBullet.html +3 -3
  138. data/rdoc/RubyXL/CT_TextCharacterProperties.html +3 -3
  139. data/rdoc/RubyXL/CT_TextFont.html +3 -3
  140. data/rdoc/RubyXL/CT_TextListStyle.html +3 -3
  141. data/rdoc/RubyXL/CT_TextNormalAutofit.html +3 -3
  142. data/rdoc/RubyXL/CT_TextParagraphProperties.html +3 -3
  143. data/rdoc/RubyXL/CT_TextSpacing.html +3 -3
  144. data/rdoc/RubyXL/CT_TextTabStop.html +3 -3
  145. data/rdoc/RubyXL/CT_TextTabStopList.html +3 -3
  146. data/rdoc/RubyXL/CT_TileInfoProperties.html +3 -3
  147. data/rdoc/RubyXL/CT_TintEffect.html +3 -3
  148. data/rdoc/RubyXL/CT_Transform2D.html +3 -3
  149. data/rdoc/RubyXL/CT_TransformEffect.html +3 -3
  150. data/rdoc/RubyXL/CT_Vector3D.html +3 -3
  151. data/rdoc/RubyXL/CT_XYAdjustHandle.html +3 -3
  152. data/rdoc/RubyXL/CalculationChain.html +9 -7
  153. data/rdoc/RubyXL/CalculationChainCell.html +3 -3
  154. data/rdoc/RubyXL/CalculationProperties.html +3 -3
  155. data/rdoc/RubyXL/Cell.html +93 -65
  156. data/rdoc/RubyXL/CellConvenienceMethods.html +220 -148
  157. data/rdoc/RubyXL/CellExt.html +3 -3
  158. data/rdoc/RubyXL/CellSmartTag.html +3 -3
  159. data/rdoc/RubyXL/CellSmartTagProperty.html +3 -3
  160. data/rdoc/RubyXL/CellSmartTags.html +3 -3
  161. data/rdoc/RubyXL/CellStyle.html +3 -3
  162. data/rdoc/RubyXL/CellStyleXFs.html +9 -7
  163. data/rdoc/RubyXL/CellStyles.html +10 -8
  164. data/rdoc/RubyXL/CellValue.html +9 -7
  165. data/rdoc/RubyXL/CellWatch.html +3 -3
  166. data/rdoc/RubyXL/CellWatches.html +3 -3
  167. data/rdoc/RubyXL/CellXFs.html +11 -10
  168. data/rdoc/RubyXL/ChartColorsFile.html +3 -3
  169. data/rdoc/RubyXL/ChartFile.html +9 -7
  170. data/rdoc/RubyXL/ChartStyleFile.html +3 -3
  171. data/rdoc/RubyXL/ChartUserShapesFile.html +3 -3
  172. data/rdoc/RubyXL/Chartsheet.html +9 -7
  173. data/rdoc/RubyXL/ChartsheetPageSetup.html +3 -3
  174. data/rdoc/RubyXL/ChartsheetProperties.html +3 -3
  175. data/rdoc/RubyXL/ChartsheetProtection.html +3 -3
  176. data/rdoc/RubyXL/ChartsheetView.html +3 -3
  177. data/rdoc/RubyXL/ChartsheetViews.html +3 -3
  178. data/rdoc/RubyXL/Color.html +9 -7
  179. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +17 -13
  180. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +23 -17
  181. data/rdoc/RubyXL/ColorConvenienceClasses.html +3 -3
  182. data/rdoc/RubyXL/ColorConvenienceMethods.html +9 -7
  183. data/rdoc/RubyXL/ColorFilter.html +3 -3
  184. data/rdoc/RubyXL/ColorScale.html +3 -3
  185. data/rdoc/RubyXL/ColorSet.html +3 -3
  186. data/rdoc/RubyXL/Colors.html +3 -3
  187. data/rdoc/RubyXL/ColumnRange.html +57 -20
  188. data/rdoc/RubyXL/ColumnRanges.html +37 -29
  189. data/rdoc/RubyXL/Comment.html +3 -3
  190. data/rdoc/RubyXL/CommentList.html +3 -3
  191. data/rdoc/RubyXL/CommentsFile.html +9 -7
  192. data/rdoc/RubyXL/ConditionalFormatValue.html +3 -3
  193. data/rdoc/RubyXL/ConditionalFormatting.html +3 -3
  194. data/rdoc/RubyXL/ConditionalFormattingRule.html +3 -3
  195. data/rdoc/RubyXL/Connection.html +3 -3
  196. data/rdoc/RubyXL/ConnectionTable.html +3 -3
  197. data/rdoc/RubyXL/ConnectionTables.html +3 -3
  198. data/rdoc/RubyXL/ConnectionTextField.html +3 -3
  199. data/rdoc/RubyXL/ConnectionTextFields.html +3 -3
  200. data/rdoc/RubyXL/Connections.html +9 -7
  201. data/rdoc/RubyXL/ContentTypeDefault.html +3 -3
  202. data/rdoc/RubyXL/ContentTypeOverride.html +3 -3
  203. data/rdoc/RubyXL/ContentTypes.html +15 -11
  204. data/rdoc/RubyXL/ControlPropertiesFile.html +3 -3
  205. data/rdoc/RubyXL/CorePropertiesFile.html +66 -48
  206. data/rdoc/RubyXL/CustomColor.html +3 -3
  207. data/rdoc/RubyXL/CustomColorList.html +3 -3
  208. data/rdoc/RubyXL/CustomFilter.html +3 -3
  209. data/rdoc/RubyXL/CustomFilters.html +3 -3
  210. data/rdoc/RubyXL/CustomGeometry.html +3 -3
  211. data/rdoc/RubyXL/CustomProperties.html +3 -3
  212. data/rdoc/RubyXL/CustomPropertiesFile.html +3 -3
  213. data/rdoc/RubyXL/CustomProperty.html +3 -3
  214. data/rdoc/RubyXL/CustomPropertyFile.html +3 -3
  215. data/rdoc/RubyXL/CustomSheetView.html +3 -3
  216. data/rdoc/RubyXL/CustomSheetViews.html +3 -3
  217. data/rdoc/RubyXL/CustomWorkbookView.html +3 -3
  218. data/rdoc/RubyXL/CustomWorkbookViews.html +3 -3
  219. data/rdoc/RubyXL/CustomXMLFile.html +3 -3
  220. data/rdoc/RubyXL/DXF.html +3 -3
  221. data/rdoc/RubyXL/DXFs.html +3 -3
  222. data/rdoc/RubyXL/DataBar.html +3 -3
  223. data/rdoc/RubyXL/DataConsolidate.html +3 -3
  224. data/rdoc/RubyXL/DataConsolidationReference.html +3 -3
  225. data/rdoc/RubyXL/DataConsolidationReferences.html +3 -3
  226. data/rdoc/RubyXL/DataType.html +3 -3
  227. data/rdoc/RubyXL/DataValidation.html +3 -3
  228. data/rdoc/RubyXL/DataValidations.html +3 -3
  229. data/rdoc/RubyXL/DateGroupItem.html +3 -3
  230. data/rdoc/RubyXL/DefinedName.html +3 -3
  231. data/rdoc/RubyXL/DefinedNameExt.html +3 -3
  232. data/rdoc/RubyXL/DefinedNames.html +3 -3
  233. data/rdoc/RubyXL/DefinedNamesExt.html +3 -3
  234. data/rdoc/RubyXL/DocumentPropertiesFile.html +17 -12
  235. data/rdoc/RubyXL/DrawingFile.html +9 -7
  236. data/rdoc/RubyXL/DynamicFilter.html +3 -3
  237. data/rdoc/RubyXL/EmbeddedControl.html +3 -3
  238. data/rdoc/RubyXL/EmbeddedControls.html +3 -3
  239. data/rdoc/RubyXL/Extension.html +3 -3
  240. data/rdoc/RubyXL/ExtensionStorageArea.html +3 -3
  241. data/rdoc/RubyXL/Extents.html +3 -3
  242. data/rdoc/RubyXL/ExternalBook.html +3 -3
  243. data/rdoc/RubyXL/ExternalLinksFile.html +10 -8
  244. data/rdoc/RubyXL/ExternalReference.html +3 -3
  245. data/rdoc/RubyXL/ExternalReferences.html +3 -3
  246. data/rdoc/RubyXL/ExtraColorSchemeList.html +3 -3
  247. data/rdoc/RubyXL/FieldItem.html +3 -3
  248. data/rdoc/RubyXL/FileRecoveryProperties.html +3 -3
  249. data/rdoc/RubyXL/FileSharing.html +3 -3
  250. data/rdoc/RubyXL/FileVersion.html +3 -3
  251. data/rdoc/RubyXL/Fill.html +9 -7
  252. data/rdoc/RubyXL/Fills.html +9 -7
  253. data/rdoc/RubyXL/FilterContainer.html +3 -3
  254. data/rdoc/RubyXL/FloatNode.html +3 -3
  255. data/rdoc/RubyXL/FloatValue.html +3 -3
  256. data/rdoc/RubyXL/Font.html +9 -7
  257. data/rdoc/RubyXL/FontConvenienceMethods.html +87 -59
  258. data/rdoc/RubyXL/FontScheme.html +3 -3
  259. data/rdoc/RubyXL/Fonts.html +9 -7
  260. data/rdoc/RubyXL/Formula.html +3 -3
  261. data/rdoc/RubyXL/FunctionGroup.html +3 -3
  262. data/rdoc/RubyXL/FunctionGroups.html +3 -3
  263. data/rdoc/RubyXL/GenericStorageObject.html +22 -16
  264. data/rdoc/RubyXL/GradientFill.html +3 -3
  265. data/rdoc/RubyXL/HeaderFooterSettings.html +3 -3
  266. data/rdoc/RubyXL/Hyperlink.html +3 -3
  267. data/rdoc/RubyXL/HyperlinkRelFile.html +3 -3
  268. data/rdoc/RubyXL/Hyperlinks.html +3 -3
  269. data/rdoc/RubyXL/IconFilter.html +3 -3
  270. data/rdoc/RubyXL/IconSet.html +3 -3
  271. data/rdoc/RubyXL/IgnoredError.html +3 -3
  272. data/rdoc/RubyXL/IgnoredErrors.html +3 -3
  273. data/rdoc/RubyXL/IndexedColors.html +3 -3
  274. data/rdoc/RubyXL/InputCells.html +3 -3
  275. data/rdoc/RubyXL/IntegerNode.html +3 -3
  276. data/rdoc/RubyXL/IntegerValue.html +3 -3
  277. data/rdoc/RubyXL/LegacyCell.html +9 -7
  278. data/rdoc/RubyXL/LegacyWorksheet.html +55 -30
  279. data/rdoc/RubyXL/MRUColors.html +3 -3
  280. data/rdoc/RubyXL/MacrosFile.html +3 -3
  281. data/rdoc/RubyXL/MergedCell.html +3 -3
  282. data/rdoc/RubyXL/MergedCells.html +3 -3
  283. data/rdoc/RubyXL/NumFmt.html +3 -3
  284. data/rdoc/RubyXL/NumberFormat.html +9 -7
  285. data/rdoc/RubyXL/NumberFormats.html +9 -7
  286. data/rdoc/RubyXL/OLEObject.html +3 -3
  287. data/rdoc/RubyXL/OLEObjectFile.html +3 -3
  288. data/rdoc/RubyXL/OLEObjects.html +3 -3
  289. data/rdoc/RubyXL/OLESize.html +3 -3
  290. data/rdoc/RubyXL/OOXMLContainerObject.html +46 -34
  291. data/rdoc/RubyXL/OOXMLIgnored.html +15 -11
  292. data/rdoc/RubyXL/OOXMLObject.html +3 -3
  293. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +46 -31
  294. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +67 -52
  295. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +64 -44
  296. data/rdoc/RubyXL/OOXMLTopLevelObject.html +38 -28
  297. data/rdoc/RubyXL/OdbcOleDbProperties.html +3 -3
  298. data/rdoc/RubyXL/Offset.html +3 -3
  299. data/rdoc/RubyXL/OlapProperties.html +3 -3
  300. data/rdoc/RubyXL/OleItem.html +3 -3
  301. data/rdoc/RubyXL/OleItems.html +3 -3
  302. data/rdoc/RubyXL/OleLink.html +3 -3
  303. data/rdoc/RubyXL/OutlineProperties.html +3 -3
  304. data/rdoc/RubyXL/PageMargins.html +3 -3
  305. data/rdoc/RubyXL/PageSetup.html +3 -3
  306. data/rdoc/RubyXL/PageSetupProperties.html +3 -3
  307. data/rdoc/RubyXL/Pane.html +3 -3
  308. data/rdoc/RubyXL/Parser.html +15 -11
  309. data/rdoc/RubyXL/PatternFill.html +3 -3
  310. data/rdoc/RubyXL/PersonMetadata.html +108 -0
  311. data/rdoc/RubyXL/PhoneticProperties.html +3 -3
  312. data/rdoc/RubyXL/PhoneticRun.html +3 -3
  313. data/rdoc/RubyXL/PivotArea.html +3 -3
  314. data/rdoc/RubyXL/PivotCache.html +3 -3
  315. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +3 -3
  316. data/rdoc/RubyXL/PivotCacheRecordsFile.html +3 -3
  317. data/rdoc/RubyXL/PivotCaches.html +3 -3
  318. data/rdoc/RubyXL/PivotReference.html +3 -3
  319. data/rdoc/RubyXL/PivotReferences.html +3 -3
  320. data/rdoc/RubyXL/PivotTableFile.html +3 -3
  321. data/rdoc/RubyXL/PivotTableSelection.html +3 -3
  322. data/rdoc/RubyXL/PresetGeometry.html +3 -3
  323. data/rdoc/RubyXL/PrintOptions.html +3 -3
  324. data/rdoc/RubyXL/PrinterSettingsFile.html +3 -3
  325. data/rdoc/RubyXL/ProtectedRange.html +3 -3
  326. data/rdoc/RubyXL/ProtectedRanges.html +3 -3
  327. data/rdoc/RubyXL/Protection.html +3 -3
  328. data/rdoc/RubyXL/QueryParameter.html +3 -3
  329. data/rdoc/RubyXL/QueryParameters.html +3 -3
  330. data/rdoc/RubyXL/QueryTable.html +10 -8
  331. data/rdoc/RubyXL/QueryTableDeletedField.html +3 -3
  332. data/rdoc/RubyXL/QueryTableDeletedFields.html +3 -3
  333. data/rdoc/RubyXL/QueryTableField.html +3 -3
  334. data/rdoc/RubyXL/QueryTableFields.html +3 -3
  335. data/rdoc/RubyXL/QueryTableRefresh.html +3 -3
  336. data/rdoc/RubyXL/RID.html +3 -3
  337. data/rdoc/RubyXL/RawOOXML.html +15 -11
  338. data/rdoc/RubyXL/Reference.html +113 -77
  339. data/rdoc/RubyXL/Relationship.html +3 -3
  340. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +9 -7
  341. data/rdoc/RubyXL/RelationshipSupport.html +39 -27
  342. data/rdoc/RubyXL/RevisionPointer.html +3 -3
  343. data/rdoc/RubyXL/RichText.html +11 -9
  344. data/rdoc/RubyXL/RichTextRun.html +9 -7
  345. data/rdoc/RubyXL/Row.html +57 -39
  346. data/rdoc/RubyXL/RowExt.html +3 -3
  347. data/rdoc/RubyXL/RunProperties.html +3 -3
  348. data/rdoc/RubyXL/Scenario.html +3 -3
  349. data/rdoc/RubyXL/Scenarios.html +3 -3
  350. data/rdoc/RubyXL/Selection.html +9 -7
  351. data/rdoc/RubyXL/ShapeGuide.html +3 -3
  352. data/rdoc/RubyXL/ShapeTextRectangle.html +3 -3
  353. data/rdoc/RubyXL/SharedStringsTable.html +46 -32
  354. data/rdoc/RubyXL/Sheet.html +3 -3
  355. data/rdoc/RubyXL/SheetCalculationProperties.html +3 -3
  356. data/rdoc/RubyXL/SheetData.html +15 -11
  357. data/rdoc/RubyXL/SheetDataExt.html +3 -3
  358. data/rdoc/RubyXL/SheetDataSet.html +3 -3
  359. data/rdoc/RubyXL/SheetMetadata.html +3 -3
  360. data/rdoc/RubyXL/SheetName.html +3 -3
  361. data/rdoc/RubyXL/SheetNames.html +3 -3
  362. data/rdoc/RubyXL/Sheets.html +3 -3
  363. data/rdoc/RubyXL/SlicerCacheFile.html +3 -3
  364. data/rdoc/RubyXL/SlicerFile.html +3 -3
  365. data/rdoc/RubyXL/SmartTagProperties.html +3 -3
  366. data/rdoc/RubyXL/SmartTagType.html +3 -3
  367. data/rdoc/RubyXL/SmartTagTypes.html +3 -3
  368. data/rdoc/RubyXL/SmartTags.html +3 -3
  369. data/rdoc/RubyXL/SortCondition.html +3 -3
  370. data/rdoc/RubyXL/SortState.html +3 -3
  371. data/rdoc/RubyXL/Sqref.html +18 -14
  372. data/rdoc/RubyXL/Stop.html +3 -3
  373. data/rdoc/RubyXL/StringNode.html +3 -3
  374. data/rdoc/RubyXL/StringNodeW3C.html +15 -11
  375. data/rdoc/RubyXL/StringValue.html +3 -3
  376. data/rdoc/RubyXL/Stylesheet.html +38 -28
  377. data/rdoc/RubyXL/TableFile.html +3 -3
  378. data/rdoc/RubyXL/TableParts.html +3 -3
  379. data/rdoc/RubyXL/TableStyle.html +3 -3
  380. data/rdoc/RubyXL/TableStyles.html +3 -3
  381. data/rdoc/RubyXL/Text.html +16 -12
  382. data/rdoc/RubyXL/TextImportSettings.html +3 -3
  383. data/rdoc/RubyXL/Theme.html +39 -33
  384. data/rdoc/RubyXL/ThemeElements.html +3 -3
  385. data/rdoc/RubyXL/ThumbnailFile.html +3 -3
  386. data/rdoc/RubyXL/Top10.html +3 -3
  387. data/rdoc/RubyXL/VMLDrawingFile.html +3 -3
  388. data/rdoc/RubyXL/Variant.html +3 -3
  389. data/rdoc/RubyXL/Vector.html +9 -7
  390. data/rdoc/RubyXL/VectorValue.html +3 -3
  391. data/rdoc/RubyXL/VisualProperties.html +3 -3
  392. data/rdoc/RubyXL/WebPublishObject.html +3 -3
  393. data/rdoc/RubyXL/WebPublishObjects.html +3 -3
  394. data/rdoc/RubyXL/WebPublishingItem.html +3 -3
  395. data/rdoc/RubyXL/WebPublishingItems.html +3 -3
  396. data/rdoc/RubyXL/WebPublishingProperties.html +3 -3
  397. data/rdoc/RubyXL/WebQueryProperties.html +3 -3
  398. data/rdoc/RubyXL/Workbook.html +202 -146
  399. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +124 -92
  400. data/rdoc/RubyXL/WorkbookProperties.html +3 -3
  401. data/rdoc/RubyXL/WorkbookProtection.html +3 -3
  402. data/rdoc/RubyXL/WorkbookRoot.html +33 -23
  403. data/rdoc/RubyXL/WorkbookView.html +3 -3
  404. data/rdoc/RubyXL/WorkbookViews.html +3 -3
  405. data/rdoc/RubyXL/Worksheet.html +45 -31
  406. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +443 -288
  407. data/rdoc/RubyXL/WorksheetDimensions.html +3 -3
  408. data/rdoc/RubyXL/WorksheetFormatProperties.html +3 -3
  409. data/rdoc/RubyXL/WorksheetProperties.html +3 -3
  410. data/rdoc/RubyXL/WorksheetProtection.html +3 -3
  411. data/rdoc/RubyXL/WorksheetView.html +3 -3
  412. data/rdoc/RubyXL/WorksheetViews.html +3 -3
  413. data/rdoc/RubyXL/XF.html +3 -3
  414. data/rdoc/RubyXL.html +9 -7
  415. data/rdoc/created.rid +35 -35
  416. data/rdoc/css/rdoc.css +55 -7
  417. data/rdoc/index.html +395 -388
  418. data/rdoc/js/darkfish.js +14 -1
  419. data/rdoc/js/navigation.js +8 -8
  420. data/rdoc/js/navigation.js.gz +0 -0
  421. data/rdoc/js/search.js +4 -4
  422. data/rdoc/js/search_index.js +1 -1
  423. data/rdoc/js/search_index.js.gz +0 -0
  424. data/rdoc/js/searcher.js.gz +0 -0
  425. data/rdoc/table_of_contents.html +14 -3
  426. data/rubyXL.gemspec +10 -5
  427. data/spec/lib/cell_spec.rb +30 -4
  428. data/spec/lib/color_spec.rb +7 -0
  429. data/spec/lib/parser_spec.rb +8 -5
  430. data/spec/lib/reference_spec.rb +35 -5
  431. data/spec/lib/rgb_color_spec.rb +2 -0
  432. data/spec/lib/stylesheet_spec.rb +2 -0
  433. data/spec/lib/text_spec.rb +3 -1
  434. data/spec/lib/workbook_spec.rb +6 -4
  435. data/spec/lib/worksheet_spec.rb +29 -17
  436. metadata +21 -4
  437. data/Gemfile.lock +0 -124
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.25</title>
7
+ <title>Table of Contents - rubyXL 3.4.33</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.25</h1>
26
+ <h1 class="class">Table of Contents - rubyXL 3.4.33</h1>
27
27
 
28
28
  <h2 id="pages">Pages</h2>
29
29
  <ul>
@@ -104,6 +104,9 @@
104
104
  <li class="class">
105
105
  <a href="RubyXL/AlternateContent.html">RubyXL::AlternateContent</a>
106
106
  </li>
107
+ <li class="class">
108
+ <a href="RubyXL/AlternateUrls.html">RubyXL::AlternateUrls</a>
109
+ </li>
107
110
  <li class="class">
108
111
  <a href="RubyXL/Authors.html">RubyXL::Authors</a>
109
112
  </li>
@@ -920,6 +923,9 @@
920
923
  <li class="class">
921
924
  <a href="RubyXL/PatternFill.html">RubyXL::PatternFill</a>
922
925
  </li>
926
+ <li class="class">
927
+ <a href="RubyXL/PersonMetadata.html">RubyXL::PersonMetadata</a>
928
+ </li>
923
929
  <li class="class">
924
930
  <a href="RubyXL/PhoneticProperties.html">RubyXL::PhoneticProperties</a>
925
931
  </li>
@@ -1234,6 +1240,11 @@
1234
1240
  <h2 id="methods">Methods</h2>
1235
1241
  <ul>
1236
1242
 
1243
+ <li class="method">
1244
+ <a href="RubyXL/ColumnRange.html#method-c-chars2raw">::chars2raw</a>
1245
+ &mdash;
1246
+ <span class="container">RubyXL::ColumnRange</span>
1247
+
1237
1248
  <li class="method">
1238
1249
  <a href="RubyXL/Borders.html#method-c-default">::default</a>
1239
1250
  &mdash;
@@ -3004,7 +3015,7 @@
3004
3015
 
3005
3016
  <footer id="validator-badges" role="contentinfo">
3006
3017
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
3007
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.
3018
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.6.3.1.
3008
3019
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
3009
3020
  </footer>
3010
3021
 
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.25 ruby lib
5
+ # stub: rubyXL 3.4.33 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rubyXL".freeze
9
- s.version = "3.4.25"
9
+ s.version = "3.4.33"
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 = "2022-05-19"
14
+ s.date = "2024-12-20"
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 = [
@@ -21,8 +21,9 @@ Gem::Specification.new do |s|
21
21
  s.files = [
22
22
  ".circleci/config.yml",
23
23
  ".codeclimate.yml",
24
+ ".rubocop.yml",
25
+ "CHANGELOG.md",
24
26
  "Gemfile",
25
- "Gemfile.lock",
26
27
  "LICENSE.txt",
27
28
  "README.rdoc",
28
29
  "Rakefile",
@@ -79,6 +80,7 @@ Gem::Specification.new do |s|
79
80
  "rdoc/RubyXL/AdjustHandleList.html",
80
81
  "rdoc/RubyXL/Alignment.html",
81
82
  "rdoc/RubyXL/AlternateContent.html",
83
+ "rdoc/RubyXL/AlternateUrls.html",
82
84
  "rdoc/RubyXL/Authors.html",
83
85
  "rdoc/RubyXL/AutoFilter.html",
84
86
  "rdoc/RubyXL/AutoFilterColumn.html",
@@ -351,6 +353,7 @@ Gem::Specification.new do |s|
351
353
  "rdoc/RubyXL/Pane.html",
352
354
  "rdoc/RubyXL/Parser.html",
353
355
  "rdoc/RubyXL/PatternFill.html",
356
+ "rdoc/RubyXL/PersonMetadata.html",
354
357
  "rdoc/RubyXL/PhoneticProperties.html",
355
358
  "rdoc/RubyXL/PhoneticRun.html",
356
359
  "rdoc/RubyXL/PivotArea.html",
@@ -516,7 +519,7 @@ Gem::Specification.new do |s|
516
519
  ]
517
520
  s.homepage = "http://github.com/gilt/rubyXL".freeze
518
521
  s.licenses = ["MIT".freeze]
519
- s.rubygems_version = "3.3.12".freeze
522
+ s.rubygems_version = "3.1.6".freeze
520
523
  s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
521
524
 
522
525
  if s.respond_to? :specification_version then
@@ -533,6 +536,7 @@ Gem::Specification.new do |s|
533
536
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
534
537
  s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
535
538
  s.add_development_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
539
+ s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
536
540
  else
537
541
  s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
538
542
  s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
@@ -543,6 +547,7 @@ Gem::Specification.new do |s|
543
547
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
544
548
  s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
545
549
  s.add_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
550
+ s.add_dependency(%q<rubocop>.freeze, [">= 0"])
546
551
  end
547
552
  end
548
553
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'bigdecimal'
3
5
  require 'rubyXL/convenience_methods/font'
@@ -8,8 +10,8 @@ describe RubyXL::Cell do
8
10
  @workbook = RubyXL::Workbook.new
9
11
  @worksheet = @workbook.add_worksheet('Test Worksheet')
10
12
  @workbook.worksheets << @worksheet
11
- (0..10).each do |i|
12
- (0..10).each do |j|
13
+ 11.times do |i|
14
+ 11.times do |j|
13
15
  @worksheet.add_cell(i, j, "#{i}:#{j}")
14
16
  end
15
17
  end
@@ -45,14 +47,14 @@ describe RubyXL::Cell do
45
47
  cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
46
48
 
47
49
  # Due to rounding errors, we allow microsecond precision on DateTime.
48
- expect((cell.value - tm).to_f).to be_within(1.0/86400e6).of(0)
50
+ expect((cell.value - tm).to_f).to be_within(1.0 / 86400e6).of(0)
49
51
 
50
52
  tm = Time.now
51
53
  cell = @worksheet.add_cell(r, c, tm)
52
54
  cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
53
55
 
54
56
  # 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)
57
+ expect(cell.value - tm.to_datetime).to be_within(1.0 / 86400e6).of(0)
56
58
 
57
59
  expected_date = '2020-10-15T14:00:00Z'
58
60
  expected_datetime = Time.parse(expected_date).utc
@@ -66,6 +68,30 @@ describe RubyXL::Cell do
66
68
  # We expect exactly the same date
67
69
  expect(cell.value.to_time.utc.iso8601).to eq(expected_datetime.iso8601)
68
70
  end
71
+
72
+ it 'should raise against too long String' do
73
+ ok_data = 'A' * 32767 # The limit is 32767
74
+
75
+ expect {
76
+ @worksheet.add_cell(0, 1, ok_data) # 32767 -> OK
77
+ }.not_to raise_error
78
+ expect {
79
+ # 1 longer than the limit, so an exception must be thrown.
80
+ @worksheet.add_cell(0, 2, "#{ok_data}x")
81
+ }.to raise_error(ArgumentError)
82
+ end
83
+
84
+ it 'should raise against too long RichText' do
85
+ ok_data = 'A' * 32767 # The limit is 32767
86
+
87
+ expect {
88
+ @worksheet.add_cell(0, 1, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => ok_data))) # 32767 -> OK
89
+ }.not_to raise_error
90
+ expect {
91
+ # 1 longer than the limit, so an exception must be thrown.
92
+ @worksheet.add_cell(0, 2, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => "#{ok_data}x")))
93
+ }.to raise_error(ArgumentError)
94
+ end
69
95
  end
70
96
 
71
97
  describe '.change_fill' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'rubyXL/convenience_methods/color'
3
5
 
@@ -7,8 +9,13 @@ describe RubyXL::Color do
7
9
  expect(RubyXL::Color.validate_color('0fbCAd')).to eq(true)
8
10
  end
9
11
 
12
+ it 'should return true if a valid hex color with alpha is passed' do
13
+ expect(RubyXL::Color.validate_color('01AbCdeF')).to eq(true)
14
+ end
15
+
10
16
  it 'should cause an error if an invalid hex color code or one with a # is passed' do
11
17
  expect { RubyXL::Color.validate_color('#G') }.to raise_error(RuntimeError)
18
+ expect { RubyXL::Color.validate_color('1234567') }.to raise_error(RuntimeError)
12
19
  end
13
20
  end
14
21
  end
@@ -1,10 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'English'
2
4
  require 'spec_helper'
3
5
  require 'tmpdir'
4
6
 
5
7
  describe RubyXL::Parser do
6
8
  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'
9
+ @test_sheet_name = 'This is a very long sheet name that should be trimmed ' \
10
+ 'to 31 characters for compatibility with MS Excel'
8
11
  @workbook = RubyXL::Workbook.new
9
12
  @workbook.add_worksheet('Test Worksheet')
10
13
  @time = Time.at(Time.now.to_i) # Excel only saves times with 1-second precision.
@@ -16,9 +19,9 @@ describe RubyXL::Parser do
16
19
  ws.add_cell(0, 2, '>')
17
20
  ws.add_cell(0, 3, '')
18
21
 
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, 0, '&') #TODO# .datatype = RubyXL::Cell::SHARED_STRING
23
+ ws.add_cell(1, 1, '<') #TODO# .datatype = RubyXL::Cell::SHARED_STRING
24
+ ws.add_cell(1, 2, '>') #TODO# .datatype = RubyXL::Cell::SHARED_STRING
22
25
  ws.add_cell(1, 3, '')
23
26
 
24
27
  ws.add_cell(2, 0, 0)
@@ -110,6 +113,6 @@ describe RubyXL::Parser do
110
113
  end
111
114
 
112
115
  after do
113
- File.delete(@file) if File.exist?(@file)
116
+ FileUtils.rm_f(@file)
114
117
  end
115
118
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe RubyXL::Reference do
4
- describe '.ind2ref + .ref2ind' do
5
- it 'should correctly return the "Excel Style" description of cells when given a row/column number' do
6
+ describe '.ind2ref' do
7
+ it "should correctly return the 'Excel Style' description of cells when given a row/column number" do
6
8
  expect(RubyXL::Reference.ind2ref(0, 26)).to eq('AA1')
7
9
  expect(RubyXL::Reference.ind2ref(99, 0)).to eq('A100')
8
10
  expect(RubyXL::Reference.ind2ref(0, 26)).to eq('AA1')
@@ -13,22 +15,50 @@ describe RubyXL::Reference do
13
15
  expect(RubyXL::Reference.ind2ref(0, 16383)).to eq('XFD1')
14
16
  end
15
17
 
16
- it 'should correctly convert back and forth between "Excel Style" and index style cell references' do
18
+ it "should correctly convert back and forth between 'Excel Style' and index style cell references" do
17
19
  0.upto(16383) do |n|
18
20
  expect(RubyXL::Reference.ref2ind(RubyXL::Reference.ind2ref(n, 16383 - n))).to eq([ n, 16383 - n ])
19
21
  end
20
22
  end
23
+ end
21
24
 
22
- it 'valid? should be true on valid references' do
25
+ describe '.valid?' do
26
+ it 'should return true for valid references' do
23
27
  expect(RubyXL::Reference.new('C23').valid?).to be true
24
28
  end
25
29
 
26
- it 'valid? should be false on invalid references' do
30
+ it 'should return false for invalid references' do
27
31
  expect(RubyXL::Reference.new('C2A').valid?).to be false
28
32
  end
33
+ end
29
34
 
35
+ describe '.ref2ind' do
30
36
  it 'should return [-1, -1] if the Excel index is not well-formed' do
31
37
  expect(RubyXL::Reference.ref2ind('A1B')).to eq([-1, -1])
32
38
  end
33
39
  end
40
+
41
+ describe '.new' do
42
+ it 'should take a string parameter' do
43
+ new_ref = RubyXL::Reference.new('C23')
44
+ expect(new_ref.single_cell?).to be true
45
+ expect(new_ref.to_s).to eq 'C23'
46
+ end
47
+
48
+ it 'should take 2 coordinate parameters' do
49
+ new_ref = RubyXL::Reference.new(11, 22)
50
+ expect(new_ref.single_cell?).to be true
51
+ expect(new_ref.to_s).to eq 'W12'
52
+ end
53
+
54
+ it 'should take 4 coordinate parameters' do
55
+ new_ref = RubyXL::Reference.new(11, 22, 33, 44)
56
+ expect(new_ref.single_cell?).to be false
57
+ expect(new_ref.to_s).to eq 'AH12:AS23'
58
+ end
59
+
60
+ it 'should take named parameters' do
61
+ expect(RubyXL::Reference.new(row_from: 44, row_to: 33, col_from: 22, col_to: 11).to_s).to eq('W45:L34')
62
+ end
63
+ end
34
64
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'rubyXL/convenience_methods/color'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe RubyXL::NumberFormat do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe RubyXL::Text do
@@ -17,7 +19,7 @@ describe RubyXL::Text do
17
19
  it 'should not escape valid XML extended UNICODE characters' do
18
20
  t = RubyXL::Text.new(:value => "\u{10000}\u{10FFFF}")
19
21
 
20
- xml = t.write_xml[/<t>[^<]+<\/t>/]
22
+ xml = t.write_xml[%r{<t>[^<]+</t>}]
21
23
 
22
24
  expect(xml).to eq("<t>\u{10000}\u{10FFFF}</t>")
23
25
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'rubyXL/convenience_methods/workbook'
3
5
 
@@ -6,8 +8,8 @@ describe RubyXL::Workbook do
6
8
  @workbook = RubyXL::Workbook.new
7
9
  @worksheet = @workbook.add_worksheet('Test Worksheet')
8
10
 
9
- (0..10).each do |i|
10
- (0..10).each do |j|
11
+ 11.times do |i|
12
+ 11.times do |j|
11
13
  @worksheet.add_cell(i, j, "#{i}:#{j}")
12
14
  end
13
15
  end
@@ -168,13 +170,13 @@ describe RubyXL::Workbook do
168
170
  describe '.collect_related_objects' do
169
171
  it 'should not save shared strings if there are none' do
170
172
  wb = RubyXL::Workbook.new
171
- expect(wb.root.collect_related_objects.map{ |x| x.class }.include?(::RubyXL::SharedStringsTable)).to be false
173
+ expect(wb.root.collect_related_objects.map(&:class).include?(::RubyXL::SharedStringsTable)).to be false
172
174
  Zip::File.open_buffer(wb.stream) { |zf|
173
175
  expect(zf.entries.any? { |e| e.name =~ /sharedstrings/i }).to be false
174
176
  }
175
177
 
176
178
  wb.shared_strings_container.add('test')
177
- expect(wb.root.collect_related_objects.map{ |x| x.class }.include?(::RubyXL::SharedStringsTable)).to be true
179
+ expect(wb.root.collect_related_objects.map(&:class).include?(::RubyXL::SharedStringsTable)).to be true
178
180
  Zip::File.open_buffer(wb.stream) { |zf|
179
181
  expect(zf.entries.any? { |e| e.name =~ /sharedstrings/i }).to be true
180
182
  }
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'rubyXL/convenience_methods/worksheet'
3
5
 
@@ -8,8 +10,8 @@ describe RubyXL::Worksheet do
8
10
  workbook = RubyXL::Workbook.new
9
11
  worksheet = workbook.add_worksheet
10
12
 
11
- (0..10).each do |y|
12
- (0..10).each do |x|
13
+ 11.times do |y|
14
+ 11.times do |x|
13
15
  next if y == SKIP_ROW_COL || x == SKIP_ROW_COL # Skip some rows/cells
14
16
  worksheet.add_cell(y, x, "#{x}:#{y}", "F#{x}:#{y}")
15
17
  end
@@ -572,8 +574,18 @@ describe RubyXL::Worksheet do
572
574
 
573
575
  describe '.merge_cells' do
574
576
  it 'should merge cells in any valid range specified by indices' do
575
- subject.merge_cells(0, 0, 1, 1)
576
- expect(subject.merged_cells.collect{ |r| r.ref.to_s }).to eq(['A1:B2'])
577
+ subject.merge_cells(0, 1, 2, 3)
578
+ expect(subject.merged_cells.collect{ |r| r.ref.to_s }).to eq(['B1:D3'])
579
+ end
580
+
581
+ it 'should merge cells in any valid range specified by Reference' do
582
+ subject.merge_cells('A1:FF99')
583
+ expect(subject.merged_cells.collect{ |r| r.ref.to_s }).to eq(['A1:FF99'])
584
+ end
585
+
586
+ it 'should merge cells in any valid range specified by named params' do
587
+ subject.merge_cells(row_from: 0, row_to: 1, col_from: 2, col_to: 3)
588
+ expect(subject.merged_cells.collect{ |r| r.ref.to_s }).to eq(['C1:D2'])
577
589
  end
578
590
  end
579
591
 
@@ -657,11 +669,11 @@ describe RubyXL::Worksheet do
657
669
 
658
670
  it 'should properly reindex the cells' do
659
671
  subject.sheet_data.rows.each_with_index { |row, r|
660
- if (SKIP_ROW_COL == r) then
672
+ if (r == SKIP_ROW_COL) then
661
673
  expect(row).to be_nil
662
674
  else
663
675
  row.cells.each_with_index { |cell, c|
664
- if (SKIP_ROW_COL == c) then
676
+ if (c == SKIP_ROW_COL) then
665
677
  expect(cell).to be_nil
666
678
  else
667
679
  expect(cell.row).to eq(r)
@@ -822,11 +834,11 @@ describe RubyXL::Worksheet do
822
834
 
823
835
  it 'should properly reindex the cells' do
824
836
  subject.sheet_data.rows.each_with_index { |row, r|
825
- if (SKIP_ROW_COL == r) then
837
+ if (r == SKIP_ROW_COL) then
826
838
  expect(row).to be_nil
827
839
  else
828
840
  row.cells.each_with_index { |cell, c|
829
- if (SKIP_ROW_COL == c) then
841
+ if (c == SKIP_ROW_COL) then
830
842
  expect(cell).to be_nil
831
843
  else
832
844
  expect(cell.row).to eq(r)
@@ -913,7 +925,7 @@ describe RubyXL::Worksheet do
913
925
  subject.delete_column(2)
914
926
 
915
927
  subject.sheet_data.rows.each_with_index { |row, r|
916
- if (SKIP_ROW_COL == r) then
928
+ if (r == SKIP_ROW_COL) then
917
929
  expect(row).to be_nil
918
930
  else
919
931
  row.cells.each_with_index { |cell, c|
@@ -936,11 +948,11 @@ describe RubyXL::Worksheet do
936
948
 
937
949
  it 'should properly reindex the cells' do
938
950
  subject.sheet_data.rows.each_with_index { |row, r|
939
- if (SKIP_ROW_COL == r) then
951
+ if (r == SKIP_ROW_COL) then
940
952
  expect(row).to be_nil
941
953
  else
942
954
  row.cells.each_with_index { |cell, c|
943
- if (SKIP_ROW_COL == c) then
955
+ if (c == SKIP_ROW_COL) then
944
956
  expect(cell).to be_nil
945
957
  else
946
958
  expect(cell.row).to eq(r)
@@ -1099,11 +1111,11 @@ describe RubyXL::Worksheet do
1099
1111
 
1100
1112
  it 'should properly reindex the cells' do
1101
1113
  subject.sheet_data.rows.each_with_index { |row, r|
1102
- if (SKIP_ROW_COL == r) then
1114
+ if (r == SKIP_ROW_COL) then
1103
1115
  expect(row).to be_nil
1104
1116
  else
1105
1117
  row.cells.each_with_index { |cell, c|
1106
- if (SKIP_ROW_COL == c) then
1118
+ if (c == SKIP_ROW_COL) then
1107
1119
  expect(cell).to be_nil
1108
1120
  else
1109
1121
  expect(cell.row).to eq(r)
@@ -1181,11 +1193,11 @@ describe RubyXL::Worksheet do
1181
1193
  it 'should update cell indices after inserting the cell' do
1182
1194
  subject.insert_cell(0, 0, 'test', nil, :right)
1183
1195
  subject.sheet_data.rows.each_with_index { |row, r|
1184
- if (SKIP_ROW_COL == r) then
1196
+ if (r == SKIP_ROW_COL) then
1185
1197
  expect(row).to be_nil
1186
1198
  else
1187
1199
  row.cells.each_with_index { |cell, c|
1188
- if ((r == 0) && (SKIP_ROW_COL + 1 == c)) || ((r != 0) && (SKIP_ROW_COL == c)) then
1200
+ if ((r == 0) && (SKIP_ROW_COL + 1 == c)) || ((r != 0) && (c == SKIP_ROW_COL)) then
1189
1201
  expect(cell).to be_nil
1190
1202
  else
1191
1203
  expect(cell.row).to eq(r)
@@ -1203,7 +1215,7 @@ describe RubyXL::Worksheet do
1203
1215
  expect(subject[1][0].value).to eq('0:0')
1204
1216
  end
1205
1217
 
1206
- it 'should cause error if shift argument is specified whcih is not :right or :down' do
1218
+ it 'should cause error if shift argument is specified which is not :right or :down' do
1207
1219
  expect {
1208
1220
  subject.insert_cell(0, 0, 'test', nil, :up)
1209
1221
  }.to raise_error(RuntimeError)
@@ -1243,7 +1255,7 @@ describe RubyXL::Worksheet do
1243
1255
  it 'should update cell indices after deleting the cell' do
1244
1256
  subject.delete_cell(4, 0, :left)
1245
1257
  subject[0].cells.each_with_index { |cell, i|
1246
- if SKIP_ROW_COL == i then
1258
+ if i == SKIP_ROW_COL then
1247
1259
  expect(cell).to be_nil
1248
1260
  else
1249
1261
  expect(cell.column).to eq(i)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyXL
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.25
4
+ version: 3.4.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vivek Bhagwat
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-05-19 00:00:00.000000000 Z
12
+ date: 2024-12-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -137,6 +137,20 @@ dependencies:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: rubocop
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
140
154
  description: rubyXL is a gem which allows the parsing, creation, and manipulation
141
155
  of Microsoft Excel (.xlsx/.xlsm) Documents
142
156
  email: bhagwat.vivek@gmail.com
@@ -148,8 +162,9 @@ extra_rdoc_files:
148
162
  files:
149
163
  - ".circleci/config.yml"
150
164
  - ".codeclimate.yml"
165
+ - ".rubocop.yml"
166
+ - CHANGELOG.md
151
167
  - Gemfile
152
- - Gemfile.lock
153
168
  - LICENSE.txt
154
169
  - README.rdoc
155
170
  - Rakefile
@@ -206,6 +221,7 @@ files:
206
221
  - rdoc/RubyXL/AdjustHandleList.html
207
222
  - rdoc/RubyXL/Alignment.html
208
223
  - rdoc/RubyXL/AlternateContent.html
224
+ - rdoc/RubyXL/AlternateUrls.html
209
225
  - rdoc/RubyXL/Authors.html
210
226
  - rdoc/RubyXL/AutoFilter.html
211
227
  - rdoc/RubyXL/AutoFilterColumn.html
@@ -478,6 +494,7 @@ files:
478
494
  - rdoc/RubyXL/Pane.html
479
495
  - rdoc/RubyXL/Parser.html
480
496
  - rdoc/RubyXL/PatternFill.html
497
+ - rdoc/RubyXL/PersonMetadata.html
481
498
  - rdoc/RubyXL/PhoneticProperties.html
482
499
  - rdoc/RubyXL/PhoneticRun.html
483
500
  - rdoc/RubyXL/PivotArea.html
@@ -659,7 +676,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
659
676
  - !ruby/object:Gem::Version
660
677
  version: '0'
661
678
  requirements: []
662
- rubygems_version: 3.3.12
679
+ rubygems_version: 3.1.6
663
680
  signing_key:
664
681
  specification_version: 4
665
682
  summary: rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft