rubyXL 3.4.26 → 3.4.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (423) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.rubocop.yml +28 -0
  4. data/VERSION +1 -1
  5. data/lib/rubyXL/convenience_methods/cell.rb +1 -1
  6. data/lib/rubyXL/convenience_methods/workbook.rb +1 -5
  7. data/lib/rubyXL/convenience_methods/worksheet.rb +2 -2
  8. data/lib/rubyXL/objects/color.rb +1 -1
  9. data/lib/rubyXL/objects/column_range.rb +2 -2
  10. data/lib/rubyXL/objects/ooxml_object.rb +5 -5
  11. data/lib/rubyXL/objects/query_table.rb +4 -2
  12. data/lib/rubyXL/objects/reference.rb +9 -5
  13. data/lib/rubyXL/objects/shared_strings.rb +1 -1
  14. data/lib/rubyXL/objects/sheet_data.rb +6 -6
  15. data/lib/rubyXL/objects/storage.rb +1 -1
  16. data/lib/rubyXL/objects/stylesheet.rb +2 -3
  17. data/lib/rubyXL/objects/text.rb +3 -3
  18. data/lib/rubyXL/objects/theme.rb +15 -17
  19. data/lib/rubyXL/objects/workbook.rb +8 -8
  20. data/lib/rubyXL/objects/worksheet.rb +2 -2
  21. data/lib/rubyXL/worksheet.rb +11 -3
  22. data/rdoc/README_rdoc.html +1 -1
  23. data/rdoc/RubyXL/AExtension.html +3 -3
  24. data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
  25. data/rdoc/RubyXL/ActiveX.html +1 -1
  26. data/rdoc/RubyXL/ActiveXBinary.html +1 -1
  27. data/rdoc/RubyXL/AdjustHandleList.html +1 -1
  28. data/rdoc/RubyXL/Alignment.html +1 -1
  29. data/rdoc/RubyXL/AlternateContent.html +1 -1
  30. data/rdoc/RubyXL/AlternateUrls.html +1 -1
  31. data/rdoc/RubyXL/Authors.html +1 -1
  32. data/rdoc/RubyXL/AutoFilter.html +1 -1
  33. data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
  34. data/rdoc/RubyXL/BinaryImageFile.html +1 -1
  35. data/rdoc/RubyXL/BodyProperties.html +1 -1
  36. data/rdoc/RubyXL/BooleanNode.html +1 -1
  37. data/rdoc/RubyXL/BooleanValue.html +1 -1
  38. data/rdoc/RubyXL/Border.html +1 -1
  39. data/rdoc/RubyXL/BorderEdge.html +1 -1
  40. data/rdoc/RubyXL/Borders.html +1 -1
  41. data/rdoc/RubyXL/Break.html +1 -1
  42. data/rdoc/RubyXL/BreakList.html +1 -1
  43. data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
  44. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
  45. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
  46. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
  47. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
  48. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
  49. data/rdoc/RubyXL/CT_Backdrop.html +1 -1
  50. data/rdoc/RubyXL/CT_Bevel.html +1 -1
  51. data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
  52. data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
  53. data/rdoc/RubyXL/CT_Blip.html +1 -1
  54. data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
  55. data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
  56. data/rdoc/RubyXL/CT_Camera.html +1 -1
  57. data/rdoc/RubyXL/CT_Color.html +1 -1
  58. data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
  59. data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
  60. data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
  61. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
  62. data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
  63. data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
  64. data/rdoc/RubyXL/CT_DashStop.html +1 -1
  65. data/rdoc/RubyXL/CT_DashStopList.html +1 -1
  66. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
  67. data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
  68. data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
  69. data/rdoc/RubyXL/CT_EffectList.html +1 -1
  70. data/rdoc/RubyXL/CT_EffectReference.html +1 -1
  71. data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
  72. data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
  73. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
  74. data/rdoc/RubyXL/CT_FillEffect.html +1 -1
  75. data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
  76. data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
  77. data/rdoc/RubyXL/CT_FlatText.html +1 -1
  78. data/rdoc/RubyXL/CT_FontCollection.html +1 -1
  79. data/rdoc/RubyXL/CT_FontReference.html +1 -1
  80. data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
  81. data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
  82. data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
  83. data/rdoc/RubyXL/CT_GradientStop.html +1 -1
  84. data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
  85. data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
  86. data/rdoc/RubyXL/CT_HslColor.html +1 -1
  87. data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
  88. data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
  89. data/rdoc/RubyXL/CT_LightRig.html +1 -1
  90. data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
  91. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
  92. data/rdoc/RubyXL/CT_LineProperties.html +1 -1
  93. data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
  94. data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
  95. data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
  96. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
  97. data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
  98. data/rdoc/RubyXL/CT_Path2D.html +1 -1
  99. data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
  100. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
  101. data/rdoc/RubyXL/CT_Path2DList.html +1 -1
  102. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
  103. data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
  104. data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
  105. data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
  106. data/rdoc/RubyXL/CT_Point3D.html +1 -1
  107. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
  108. data/rdoc/RubyXL/CT_PresetColor.html +1 -1
  109. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
  110. data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
  111. data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
  112. data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
  113. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
  114. data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
  115. data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
  116. data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
  117. data/rdoc/RubyXL/CT_Scene3D.html +1 -1
  118. data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
  119. data/rdoc/RubyXL/CT_Shape3D.html +1 -1
  120. data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
  121. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
  122. data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
  123. data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
  124. data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
  125. data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
  126. data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
  127. data/rdoc/RubyXL/CT_SystemColor.html +1 -1
  128. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
  129. data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
  130. data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
  131. data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
  132. data/rdoc/RubyXL/CT_TextFont.html +1 -1
  133. data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
  134. data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
  135. data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
  136. data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
  137. data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
  138. data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
  139. data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
  140. data/rdoc/RubyXL/CT_TintEffect.html +1 -1
  141. data/rdoc/RubyXL/CT_Transform2D.html +1 -1
  142. data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
  143. data/rdoc/RubyXL/CT_Vector3D.html +1 -1
  144. data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
  145. data/rdoc/RubyXL/CalculationChain.html +1 -1
  146. data/rdoc/RubyXL/CalculationChainCell.html +1 -1
  147. data/rdoc/RubyXL/CalculationProperties.html +1 -1
  148. data/rdoc/RubyXL/Cell.html +7 -7
  149. data/rdoc/RubyXL/CellConvenienceMethods.html +2 -2
  150. data/rdoc/RubyXL/CellExt.html +1 -1
  151. data/rdoc/RubyXL/CellSmartTag.html +1 -1
  152. data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
  153. data/rdoc/RubyXL/CellSmartTags.html +1 -1
  154. data/rdoc/RubyXL/CellStyle.html +1 -1
  155. data/rdoc/RubyXL/CellStyleXFs.html +1 -1
  156. data/rdoc/RubyXL/CellStyles.html +2 -2
  157. data/rdoc/RubyXL/CellValue.html +1 -1
  158. data/rdoc/RubyXL/CellWatch.html +1 -1
  159. data/rdoc/RubyXL/CellWatches.html +1 -1
  160. data/rdoc/RubyXL/CellXFs.html +3 -4
  161. data/rdoc/RubyXL/ChartColorsFile.html +1 -1
  162. data/rdoc/RubyXL/ChartFile.html +1 -1
  163. data/rdoc/RubyXL/ChartStyleFile.html +1 -1
  164. data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
  165. data/rdoc/RubyXL/Chartsheet.html +1 -1
  166. data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
  167. data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
  168. data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
  169. data/rdoc/RubyXL/ChartsheetView.html +1 -1
  170. data/rdoc/RubyXL/ChartsheetViews.html +1 -1
  171. data/rdoc/RubyXL/Color.html +1 -1
  172. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +1 -1
  173. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +1 -1
  174. data/rdoc/RubyXL/ColorConvenienceClasses.html +1 -1
  175. data/rdoc/RubyXL/ColorConvenienceMethods.html +1 -1
  176. data/rdoc/RubyXL/ColorFilter.html +1 -1
  177. data/rdoc/RubyXL/ColorScale.html +1 -1
  178. data/rdoc/RubyXL/ColorSet.html +1 -1
  179. data/rdoc/RubyXL/Colors.html +1 -1
  180. data/rdoc/RubyXL/ColumnRange.html +1 -1
  181. data/rdoc/RubyXL/ColumnRanges.html +3 -3
  182. data/rdoc/RubyXL/Comment.html +1 -1
  183. data/rdoc/RubyXL/CommentList.html +1 -1
  184. data/rdoc/RubyXL/CommentsFile.html +1 -1
  185. data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
  186. data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
  187. data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
  188. data/rdoc/RubyXL/Connection.html +1 -1
  189. data/rdoc/RubyXL/ConnectionTable.html +1 -1
  190. data/rdoc/RubyXL/ConnectionTables.html +1 -1
  191. data/rdoc/RubyXL/ConnectionTextField.html +1 -1
  192. data/rdoc/RubyXL/ConnectionTextFields.html +1 -1
  193. data/rdoc/RubyXL/Connections.html +1 -1
  194. data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
  195. data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
  196. data/rdoc/RubyXL/ContentTypes.html +1 -1
  197. data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
  198. data/rdoc/RubyXL/CorePropertiesFile.html +1 -1
  199. data/rdoc/RubyXL/CustomColor.html +1 -1
  200. data/rdoc/RubyXL/CustomColorList.html +1 -1
  201. data/rdoc/RubyXL/CustomFilter.html +1 -1
  202. data/rdoc/RubyXL/CustomFilters.html +1 -1
  203. data/rdoc/RubyXL/CustomGeometry.html +1 -1
  204. data/rdoc/RubyXL/CustomProperties.html +1 -1
  205. data/rdoc/RubyXL/CustomPropertiesFile.html +1 -1
  206. data/rdoc/RubyXL/CustomProperty.html +1 -1
  207. data/rdoc/RubyXL/CustomPropertyFile.html +1 -1
  208. data/rdoc/RubyXL/CustomSheetView.html +1 -1
  209. data/rdoc/RubyXL/CustomSheetViews.html +1 -1
  210. data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
  211. data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
  212. data/rdoc/RubyXL/CustomXMLFile.html +1 -1
  213. data/rdoc/RubyXL/DXF.html +1 -1
  214. data/rdoc/RubyXL/DXFs.html +1 -1
  215. data/rdoc/RubyXL/DataBar.html +1 -1
  216. data/rdoc/RubyXL/DataConsolidate.html +1 -1
  217. data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
  218. data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
  219. data/rdoc/RubyXL/DataType.html +1 -1
  220. data/rdoc/RubyXL/DataValidation.html +1 -1
  221. data/rdoc/RubyXL/DataValidations.html +1 -1
  222. data/rdoc/RubyXL/DateGroupItem.html +1 -1
  223. data/rdoc/RubyXL/DefinedName.html +1 -1
  224. data/rdoc/RubyXL/DefinedNameExt.html +1 -1
  225. data/rdoc/RubyXL/DefinedNames.html +1 -1
  226. data/rdoc/RubyXL/DefinedNamesExt.html +1 -1
  227. data/rdoc/RubyXL/DocumentPropertiesFile.html +1 -1
  228. data/rdoc/RubyXL/DrawingFile.html +1 -1
  229. data/rdoc/RubyXL/DynamicFilter.html +1 -1
  230. data/rdoc/RubyXL/EmbeddedControl.html +1 -1
  231. data/rdoc/RubyXL/EmbeddedControls.html +1 -1
  232. data/rdoc/RubyXL/Extension.html +1 -1
  233. data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
  234. data/rdoc/RubyXL/Extents.html +1 -1
  235. data/rdoc/RubyXL/ExternalBook.html +1 -1
  236. data/rdoc/RubyXL/ExternalLinksFile.html +1 -1
  237. data/rdoc/RubyXL/ExternalReference.html +1 -1
  238. data/rdoc/RubyXL/ExternalReferences.html +1 -1
  239. data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
  240. data/rdoc/RubyXL/FieldItem.html +1 -1
  241. data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
  242. data/rdoc/RubyXL/FileSharing.html +1 -1
  243. data/rdoc/RubyXL/FileVersion.html +1 -1
  244. data/rdoc/RubyXL/Fill.html +1 -1
  245. data/rdoc/RubyXL/Fills.html +1 -1
  246. data/rdoc/RubyXL/FilterContainer.html +1 -1
  247. data/rdoc/RubyXL/FloatNode.html +1 -1
  248. data/rdoc/RubyXL/FloatValue.html +1 -1
  249. data/rdoc/RubyXL/Font.html +1 -1
  250. data/rdoc/RubyXL/FontConvenienceMethods.html +1 -1
  251. data/rdoc/RubyXL/FontScheme.html +1 -1
  252. data/rdoc/RubyXL/Fonts.html +1 -1
  253. data/rdoc/RubyXL/Formula.html +1 -1
  254. data/rdoc/RubyXL/FunctionGroup.html +1 -1
  255. data/rdoc/RubyXL/FunctionGroups.html +1 -1
  256. data/rdoc/RubyXL/GenericStorageObject.html +2 -2
  257. data/rdoc/RubyXL/GradientFill.html +1 -1
  258. data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
  259. data/rdoc/RubyXL/Hyperlink.html +1 -1
  260. data/rdoc/RubyXL/HyperlinkRelFile.html +1 -1
  261. data/rdoc/RubyXL/Hyperlinks.html +1 -1
  262. data/rdoc/RubyXL/IconFilter.html +1 -1
  263. data/rdoc/RubyXL/IconSet.html +1 -1
  264. data/rdoc/RubyXL/IgnoredError.html +1 -1
  265. data/rdoc/RubyXL/IgnoredErrors.html +1 -1
  266. data/rdoc/RubyXL/IndexedColors.html +1 -1
  267. data/rdoc/RubyXL/InputCells.html +1 -1
  268. data/rdoc/RubyXL/IntegerNode.html +1 -1
  269. data/rdoc/RubyXL/IntegerValue.html +1 -1
  270. data/rdoc/RubyXL/LegacyCell.html +1 -1
  271. data/rdoc/RubyXL/LegacyWorksheet.html +23 -8
  272. data/rdoc/RubyXL/MRUColors.html +1 -1
  273. data/rdoc/RubyXL/MacrosFile.html +1 -1
  274. data/rdoc/RubyXL/MergedCell.html +1 -1
  275. data/rdoc/RubyXL/MergedCells.html +1 -1
  276. data/rdoc/RubyXL/NumFmt.html +1 -1
  277. data/rdoc/RubyXL/NumberFormat.html +1 -1
  278. data/rdoc/RubyXL/NumberFormats.html +1 -1
  279. data/rdoc/RubyXL/OLEObject.html +1 -1
  280. data/rdoc/RubyXL/OLEObjectFile.html +1 -1
  281. data/rdoc/RubyXL/OLEObjects.html +1 -1
  282. data/rdoc/RubyXL/OLESize.html +1 -1
  283. data/rdoc/RubyXL/OOXMLContainerObject.html +2 -2
  284. data/rdoc/RubyXL/OOXMLIgnored.html +1 -1
  285. data/rdoc/RubyXL/OOXMLObject.html +1 -1
  286. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +2 -2
  287. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +4 -4
  288. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +1 -1
  289. data/rdoc/RubyXL/OOXMLTopLevelObject.html +1 -1
  290. data/rdoc/RubyXL/OdbcOleDbProperties.html +1 -1
  291. data/rdoc/RubyXL/Offset.html +1 -1
  292. data/rdoc/RubyXL/OlapProperties.html +1 -1
  293. data/rdoc/RubyXL/OleItem.html +1 -1
  294. data/rdoc/RubyXL/OleItems.html +1 -1
  295. data/rdoc/RubyXL/OleLink.html +1 -1
  296. data/rdoc/RubyXL/OutlineProperties.html +1 -1
  297. data/rdoc/RubyXL/PageMargins.html +1 -1
  298. data/rdoc/RubyXL/PageSetup.html +1 -1
  299. data/rdoc/RubyXL/PageSetupProperties.html +1 -1
  300. data/rdoc/RubyXL/Pane.html +1 -1
  301. data/rdoc/RubyXL/Parser.html +1 -1
  302. data/rdoc/RubyXL/PatternFill.html +1 -1
  303. data/rdoc/RubyXL/PersonMetadata.html +1 -1
  304. data/rdoc/RubyXL/PhoneticProperties.html +1 -1
  305. data/rdoc/RubyXL/PhoneticRun.html +1 -1
  306. data/rdoc/RubyXL/PivotArea.html +1 -1
  307. data/rdoc/RubyXL/PivotCache.html +1 -1
  308. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +1 -1
  309. data/rdoc/RubyXL/PivotCacheRecordsFile.html +1 -1
  310. data/rdoc/RubyXL/PivotCaches.html +1 -1
  311. data/rdoc/RubyXL/PivotReference.html +1 -1
  312. data/rdoc/RubyXL/PivotReferences.html +1 -1
  313. data/rdoc/RubyXL/PivotTableFile.html +1 -1
  314. data/rdoc/RubyXL/PivotTableSelection.html +1 -1
  315. data/rdoc/RubyXL/PresetGeometry.html +1 -1
  316. data/rdoc/RubyXL/PrintOptions.html +1 -1
  317. data/rdoc/RubyXL/PrinterSettingsFile.html +1 -1
  318. data/rdoc/RubyXL/ProtectedRange.html +1 -1
  319. data/rdoc/RubyXL/ProtectedRanges.html +1 -1
  320. data/rdoc/RubyXL/Protection.html +1 -1
  321. data/rdoc/RubyXL/QueryParameter.html +1 -1
  322. data/rdoc/RubyXL/QueryParameters.html +1 -1
  323. data/rdoc/RubyXL/QueryTable.html +2 -2
  324. data/rdoc/RubyXL/QueryTableDeletedField.html +1 -1
  325. data/rdoc/RubyXL/QueryTableDeletedFields.html +1 -1
  326. data/rdoc/RubyXL/QueryTableField.html +1 -1
  327. data/rdoc/RubyXL/QueryTableFields.html +1 -1
  328. data/rdoc/RubyXL/QueryTableRefresh.html +1 -1
  329. data/rdoc/RubyXL/RID.html +1 -1
  330. data/rdoc/RubyXL/RawOOXML.html +1 -1
  331. data/rdoc/RubyXL/Reference.html +13 -9
  332. data/rdoc/RubyXL/Relationship.html +1 -1
  333. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +1 -1
  334. data/rdoc/RubyXL/RelationshipSupport.html +1 -1
  335. data/rdoc/RubyXL/RevisionPointer.html +1 -1
  336. data/rdoc/RubyXL/RichText.html +3 -3
  337. data/rdoc/RubyXL/RichTextRun.html +1 -1
  338. data/rdoc/RubyXL/Row.html +1 -1
  339. data/rdoc/RubyXL/RowExt.html +1 -1
  340. data/rdoc/RubyXL/RunProperties.html +1 -1
  341. data/rdoc/RubyXL/Scenario.html +1 -1
  342. data/rdoc/RubyXL/Scenarios.html +1 -1
  343. data/rdoc/RubyXL/Selection.html +1 -1
  344. data/rdoc/RubyXL/ShapeGuide.html +1 -1
  345. data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
  346. data/rdoc/RubyXL/SharedStringsTable.html +2 -2
  347. data/rdoc/RubyXL/Sheet.html +1 -1
  348. data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
  349. data/rdoc/RubyXL/SheetData.html +1 -1
  350. data/rdoc/RubyXL/SheetDataExt.html +1 -1
  351. data/rdoc/RubyXL/SheetDataSet.html +1 -1
  352. data/rdoc/RubyXL/SheetMetadata.html +1 -1
  353. data/rdoc/RubyXL/SheetName.html +1 -1
  354. data/rdoc/RubyXL/SheetNames.html +1 -1
  355. data/rdoc/RubyXL/Sheets.html +1 -1
  356. data/rdoc/RubyXL/SlicerCacheFile.html +1 -1
  357. data/rdoc/RubyXL/SlicerFile.html +1 -1
  358. data/rdoc/RubyXL/SmartTagProperties.html +1 -1
  359. data/rdoc/RubyXL/SmartTagType.html +1 -1
  360. data/rdoc/RubyXL/SmartTagTypes.html +1 -1
  361. data/rdoc/RubyXL/SmartTags.html +1 -1
  362. data/rdoc/RubyXL/SortCondition.html +1 -1
  363. data/rdoc/RubyXL/SortState.html +1 -1
  364. data/rdoc/RubyXL/Sqref.html +4 -4
  365. data/rdoc/RubyXL/Stop.html +1 -1
  366. data/rdoc/RubyXL/StringNode.html +1 -1
  367. data/rdoc/RubyXL/StringNodeW3C.html +1 -1
  368. data/rdoc/RubyXL/StringValue.html +1 -1
  369. data/rdoc/RubyXL/Stylesheet.html +6 -6
  370. data/rdoc/RubyXL/TableFile.html +1 -1
  371. data/rdoc/RubyXL/TableParts.html +1 -1
  372. data/rdoc/RubyXL/TableStyle.html +1 -1
  373. data/rdoc/RubyXL/TableStyles.html +1 -1
  374. data/rdoc/RubyXL/Text.html +2 -2
  375. data/rdoc/RubyXL/TextImportSettings.html +1 -1
  376. data/rdoc/RubyXL/Theme.html +19 -19
  377. data/rdoc/RubyXL/ThemeElements.html +1 -1
  378. data/rdoc/RubyXL/ThumbnailFile.html +1 -1
  379. data/rdoc/RubyXL/Top10.html +1 -1
  380. data/rdoc/RubyXL/VMLDrawingFile.html +1 -1
  381. data/rdoc/RubyXL/Variant.html +1 -1
  382. data/rdoc/RubyXL/Vector.html +1 -1
  383. data/rdoc/RubyXL/VectorValue.html +1 -1
  384. data/rdoc/RubyXL/VisualProperties.html +1 -1
  385. data/rdoc/RubyXL/WebPublishObject.html +1 -1
  386. data/rdoc/RubyXL/WebPublishObjects.html +1 -1
  387. data/rdoc/RubyXL/WebPublishingItem.html +1 -1
  388. data/rdoc/RubyXL/WebPublishingItems.html +1 -1
  389. data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
  390. data/rdoc/RubyXL/WebQueryProperties.html +1 -1
  391. data/rdoc/RubyXL/Workbook.html +7 -7
  392. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +14 -18
  393. data/rdoc/RubyXL/WorkbookProperties.html +1 -1
  394. data/rdoc/RubyXL/WorkbookProtection.html +1 -1
  395. data/rdoc/RubyXL/WorkbookRoot.html +1 -1
  396. data/rdoc/RubyXL/WorkbookView.html +1 -1
  397. data/rdoc/RubyXL/WorkbookViews.html +1 -1
  398. data/rdoc/RubyXL/Worksheet.html +1 -1
  399. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +3 -3
  400. data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
  401. data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
  402. data/rdoc/RubyXL/WorksheetProperties.html +1 -1
  403. data/rdoc/RubyXL/WorksheetProtection.html +1 -1
  404. data/rdoc/RubyXL/WorksheetView.html +1 -1
  405. data/rdoc/RubyXL/WorksheetViews.html +1 -1
  406. data/rdoc/RubyXL/XF.html +1 -1
  407. data/rdoc/RubyXL.html +1 -1
  408. data/rdoc/created.rid +32 -32
  409. data/rdoc/index.html +2 -2
  410. data/rdoc/js/search_index.js +1 -1
  411. data/rdoc/js/search_index.js.gz +0 -0
  412. data/rdoc/table_of_contents.html +2 -2
  413. data/rubyXL.gemspec +3 -4
  414. data/spec/lib/cell_spec.rb +26 -0
  415. data/spec/lib/color_spec.rb +7 -0
  416. data/spec/lib/parser_spec.rb +8 -5
  417. data/spec/lib/reference_spec.rb +4 -3
  418. data/spec/lib/rgb_color_spec.rb +2 -0
  419. data/spec/lib/text_spec.rb +3 -1
  420. data/spec/lib/workbook_spec.rb +4 -2
  421. data/spec/lib/worksheet_spec.rb +15 -13
  422. metadata +2 -3
  423. data/Gemfile.lock +0 -153
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b11583265e2c20fd90e4edea3102a50467957be9c7934dc80bd1d33b029e030c
4
- data.tar.gz: 390623df463b75a35b0fa626052cb6e330779763b653eecc95169ddf97c8b6c7
3
+ metadata.gz: 91ee72613ffcc47b4944ed30209be1c3ade9bd59095564a62cf04b14e67f1547
4
+ data.tar.gz: 3905842f6c0bb340b45d1d410e4f0e169b6f7a1603ed720ff258a474ffe4468f
5
5
  SHA512:
6
- metadata.gz: b0c34a5bed00017b79286ac01c03d8318fe847bd01e19d7456f625e567cf76a763fb02039f7a5215193e57dcefe6b107de5bfbbf75e29c0915447bb650896d38
7
- data.tar.gz: 994c6df51513c61da7781d9a35fe68ba7ae274437cda4ce6d195a5f8e447f33f34d9fe9599c7688067c5d9fa94cfbb55879005519fcc9bf2ddc13c23b8b7c09c
6
+ metadata.gz: b761fb752949f5cbf9123674ca2867e1d0e180fdc22e51f6f680adf9694fce2e6d359644cc274db10ce7e3877583bc0d794a251f90aad561c127a1c4dd5e1aa7
7
+ data.tar.gz: 0aa9d2b2ab4e33af4b905e121abe8db9cc492e501611d2db924cce75c12c5a0851c8fc0f12fc93dae9dd27e03c8a832ee24799b51e88545b42a95dbef3f92215
data/.circleci/config.yml CHANGED
@@ -7,7 +7,7 @@ jobs:
7
7
  build:
8
8
  docker:
9
9
  # specify the version you desire here
10
- - image: circleci/ruby:2.6.6-buster
10
+ - image: cimg/ruby:3.1.4
11
11
 
12
12
  # Specify service dependencies here if necessary
13
13
  # CircleCI maintains a library of pre-built images
data/.rubocop.yml CHANGED
@@ -16,6 +16,34 @@ AllCops:
16
16
  - Gemfile
17
17
  - rubyXL.gemspec
18
18
 
19
+ # "Excessive" parentheses are your friend. You will understand it in time, Luke.
20
+ Style/TernaryParentheses:
21
+ Enabled: false
22
+
23
+ # Implicity is evil. Unwilingness to type a couple extra characters is laziness.
24
+ Style/RedundantConstantBase:
25
+ Enabled: false
26
+
27
+ # I don't see a good reason in this. Unless you are paid per line.
28
+ Style/CommentedKeyword:
29
+ Enabled: false
30
+
31
+ # Yes, some things are "redundant" but they are there exactly to drive home some point...
32
+ Style/RedundantSelf:
33
+ Enabled: false
34
+
35
+ Naming/AccessorMethodName:
36
+ Enabled: false
37
+
38
+ Layout/FirstArrayElementIndentation:
39
+ Enabled: false
40
+
41
+ Style/Documentation:
42
+ Enabled: false
43
+
44
+ Layout/LeadingCommentSpace:
45
+ Enabled: false
46
+
19
47
  Style/BlockDelimiters:
20
48
  Enabled: false
21
49
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.26
1
+ 3.4.28
@@ -116,7 +116,7 @@ module RubyXL
116
116
 
117
117
  def fill_color
118
118
  validate_worksheet
119
- return workbook.get_fill_color(get_cell_xf)
119
+ workbook.get_fill_color(get_cell_xf)
120
120
  end
121
121
 
122
122
  def horizontal_alignment
@@ -21,11 +21,7 @@ module RubyXL
21
21
  end
22
22
 
23
23
  def get_fill_color(xf)
24
- fill = fills[xf.fill_id]
25
- pattern = fill && fill.pattern_fill
26
- color = pattern && pattern.fg_color
27
- color = color && color.get_rgb(self)
28
- color && color.to_s || 'ffffff'
24
+ fills[xf.fill_id]&.pattern_fill&.fg_color&.get_rgb(self)&.to_s || 'ffffff'
29
25
  end
30
26
 
31
27
  def register_new_fill(new_fill, old_xf)
@@ -206,10 +206,10 @@ module RubyXL
206
206
  validate_nonnegative(column_index)
207
207
 
208
208
  # Delete column
209
- sheet_data.rows.each { |row| row && row.cells.delete_at(column_index) }
209
+ sheet_data.rows.each { |row| row&.cells&.delete_at(column_index) }
210
210
 
211
211
  # Update column numbers for cells to the right of the deleted column
212
- sheet_data.rows.each_with_index { |row, row_index|
212
+ sheet_data.rows.each { |row|
213
213
  next if row.nil?
214
214
  row.cells.each_with_index { |c, ci|
215
215
  c.column = ci if c.is_a?(Cell)
@@ -4,7 +4,7 @@ require 'rubyXL/objects/simple_types'
4
4
  module RubyXL
5
5
  # http://www.datypic.com/sc/ooxml/e-ssml_color-4.html
6
6
  class Color < OOXMLObject
7
- COLOR_REGEXP = /\A([a-f]|[A-F]|[0-9]){6}\Z/
7
+ COLOR_REGEXP = /\A(?:[a-f0-9]{6}|[a-f0-9]{8})\Z/i
8
8
 
9
9
  define_attribute(:auto, :bool)
10
10
  define_attribute(:indexed, :uint)
@@ -82,8 +82,8 @@ module RubyXL
82
82
  end
83
83
 
84
84
  def before_write_xml
85
- self.sort_by!{ |r| r.min }
86
- !(self.empty?)
85
+ self.sort_by!(&:min)
86
+ !self.empty?
87
87
  end
88
88
  end
89
89
  end
@@ -21,7 +21,7 @@ module RubyXL
21
21
  # Defines an attribute of OOXML object.
22
22
  # === Parameters
23
23
  # * +attribute_name+ - Name of the element attribute as seen in the source XML. Can be either <tt>"String"</tt> or <tt>:Symbol</tt>
24
- # * Special attibute name <tt>'_'</tt> (underscore) denotes the value of the element rather than attribute.
24
+ # * Special attribute name <tt>'_'</tt> (underscore) denotes the value of the element rather than attribute.
25
25
  # * +attribute_type+ - Specifies the conversion type for the attribute when parsing. Available options are:
26
26
  # * +:int+ - <tt>Integer</tt>
27
27
  # * +:uint+ - Unsigned <tt>Integer</tt>
@@ -254,8 +254,8 @@ module RubyXL
254
254
 
255
255
  def ==(other)
256
256
  other.is_a?(self.class) &&
257
- obtain_class_variable(:@@ooxml_attributes).all? { |k, v| self.send(v[:accessor]) == other.send(v[:accessor]) } &&
258
- obtain_class_variable(:@@ooxml_child_nodes).all? { |k, v| self.send(v[:accessor]) == other.send(v[:accessor]) }
257
+ obtain_class_variable(:@@ooxml_attributes).all? { |_k, v| self.send(v[:accessor]) == other.send(v[:accessor]) } &&
258
+ obtain_class_variable(:@@ooxml_child_nodes).all? { |_k, v| self.send(v[:accessor]) == other.send(v[:accessor]) }
259
259
  end
260
260
 
261
261
  # Recursively write the OOXML object and all its children out as Nokogiri::XML. Immediately before the actual
@@ -355,7 +355,7 @@ module RubyXL
355
355
  def before_write_xml
356
356
  #TODO# This will go away once containers are fully implemented.
357
357
  child_nodes = obtain_class_variable(:@@ooxml_child_nodes)
358
- child_nodes.each_pair { |child_node_name, child_node_params|
358
+ child_nodes.each_pair { |_child_node_name, child_node_params|
359
359
  self.count = self.send(child_node_params[:accessor]).size if child_node_params[:is_array] == :with_count
360
360
  }
361
361
  true
@@ -369,7 +369,7 @@ module RubyXL
369
369
  include OOXMLObjectInstanceMethods
370
370
  end
371
371
 
372
- # Parent class for OOXML conainer objects (for example,
372
+ # Parent class for OOXML container objects (for example,
373
373
  # <tt>&lt;fonts&gt;&lt;font&gt;...&lt;/font&gt;&lt;font&gt;...&lt;/font&gt;&lt;/fonts&gt;</tt>
374
374
  # that obscures the top-level container, allowing direct access to the contents as +Array+.
375
375
  class OOXMLContainerObject < Array
@@ -25,7 +25,8 @@ module RubyXL
25
25
 
26
26
  # http://www.datypic.com/sc/ooxml/e-ssml_queryTableFields-1.html
27
27
  class QueryTableFields < OOXMLObject
28
- define_child_node(RubyXL::QueryTableField, :collection => :with_count, :accessor => :fields, :node_name => :queryTableField)
28
+ define_child_node(RubyXL::QueryTableField, :collection => :with_count,
29
+ :accessor => :fields, :node_name => :queryTableField)
29
30
  define_element_name 'queryTableFields'
30
31
  end
31
32
 
@@ -38,7 +39,8 @@ module RubyXL
38
39
 
39
40
  # http://www.datypic.com/sc/ooxml/e-ssml_queryTableDeletedFields-1.html
40
41
  class QueryTableDeletedFields < OOXMLObject
41
- define_child_node(RubyXL::QueryTableDeletedField, :collection => :with_count, :accessor => :deleted_fields, :node_name => :deletedField)
42
+ define_child_node(RubyXL::QueryTableDeletedField, :collection => :with_count,
43
+ :accessor => :deleted_fields, :node_name => :deletedField)
42
44
  define_element_name 'queryTableDeletedFields'
43
45
  end
44
46
 
@@ -61,15 +61,18 @@ module RubyXL
61
61
  end
62
62
 
63
63
  def cover?(other)
64
- !other.nil? && (@row_range.cover?(other.row_range.begin) && @row_range.cover?(other.row_range.end) &&
65
- @col_range.cover?(other.col_range.begin) && @col_range.cover?(other.col_range.end))
64
+ !other.nil? && (@row_range.cover?(other.row_range.begin) &&
65
+ @row_range.cover?(other.row_range.end) &&
66
+ @col_range.cover?(other.col_range.begin) &&
67
+ @col_range.cover?(other.col_range.end))
66
68
  end
67
69
 
68
70
  def to_s
69
71
  if single_cell? then
70
72
  self.class.ind2ref(@row_range.begin, @col_range.begin)
71
73
  else
72
- self.class.ind2ref(@row_range.begin, @col_range.begin) + ':' + self.class.ind2ref(@row_range.end, @col_range.end)
74
+ self.class.ind2ref(@row_range.begin, @col_range.begin) + ':' +
75
+ self.class.ind2ref(@row_range.end, @col_range.end)
73
76
  end
74
77
  end
75
78
 
@@ -99,7 +102,8 @@ module RubyXL
99
102
  # Converts Excel-style cell reference to +row+ and +col+ zero-based indices.
100
103
  def self.ref2ind(str)
101
104
  return [ -1, -1 ] unless str =~ /\A([A-Z]+)(\d+)\Z/
102
- [ Regexp.last_match(2).to_i - 1, Regexp.last_match(1).each_byte.inject(0) { |col, chr| col * 26 + (chr - 64) } - 1 ]
105
+ [ Regexp.last_match(2).to_i - 1,
106
+ Regexp.last_match(1).each_byte.inject(0) { |col, chr| col * 26 + (chr - 64) } - 1 ]
103
107
  end
104
108
  end
105
109
 
@@ -109,7 +113,7 @@ module RubyXL
109
113
  end
110
114
 
111
115
  def to_s
112
- self.collect{ |ref| ref.to_s }.join(' ')
116
+ self.collect(&:to_s).join(' ')
113
117
  end
114
118
  end
115
119
  end
@@ -20,7 +20,7 @@ module RubyXL
20
20
  super
21
21
  # So far, going by the structure that the original creator had in mind. However,
22
22
  # since the actual implementation is now extracted into a separate class,
23
- # we will be able to transparrently change it later if needs be.
23
+ # we will be able to transparently change it later if needs be.
24
24
  @index_by_content = {}
25
25
  end
26
26
 
@@ -50,7 +50,7 @@ module RubyXL
50
50
  end
51
51
 
52
52
  def row
53
- r && r.first_row
53
+ r&.first_row
54
54
  end
55
55
 
56
56
  def row=(v)
@@ -58,7 +58,7 @@ module RubyXL
58
58
  end
59
59
 
60
60
  def column
61
- r && r.first_col
61
+ r&.first_col
62
62
  end
63
63
 
64
64
  def column=(v)
@@ -66,7 +66,7 @@ module RubyXL
66
66
  end
67
67
 
68
68
  def raw_value
69
- value_container && value_container.value
69
+ value_container&.value
70
70
  end
71
71
 
72
72
  def raw_value=(v)
@@ -98,8 +98,7 @@ module RubyXL
98
98
  else false
99
99
  end
100
100
 
101
- num_fmt = self.number_format
102
- num_fmt && num_fmt.is_date_format?
101
+ self.number_format&.is_date_format?
103
102
  end
104
103
 
105
104
  # Gets massaged value of the cell, converting datatypes to those known to Ruby (that includes
@@ -111,6 +110,7 @@ module RubyXL
111
110
  when RubyXL::DataType::SHARED_STRING then workbook.shared_strings_container[r.to_i].to_s
112
111
  when RubyXL::DataType::INLINE_STRING then is.to_s
113
112
  when RubyXL::DataType::RAW_STRING then raw_value
113
+ when RubyXL::DataType::DATE then raw_value && DateTime.parse(raw_value)
114
114
  else
115
115
  if is then is.to_s
116
116
  elsif is_date? then workbook.num_to_date(r.to_f)
@@ -133,7 +133,7 @@ module RubyXL
133
133
  include LegacyCell
134
134
  end
135
135
 
136
- #TODO#<row r="1" spans="1:1" x14ac:dyDescent="0.25">
136
+ #TODO# <row r="1" spans="1:1" x14ac:dyDescent="0.25">
137
137
 
138
138
  # http://www.datypic.com/sc/ooxml/e-ssml_row-1.html
139
139
  class Row < OOXMLObject
@@ -11,7 +11,7 @@ module RubyXL
11
11
  end
12
12
 
13
13
  def self.parse_file(zip_file, file_path)
14
- (entry = zip_file.find_entry(RubyXL::from_root(file_path))) && self.new(file_path, entry.get_input_stream { |f| f.read })
14
+ (entry = zip_file.find_entry(RubyXL::from_root(file_path))) && self.new(file_path, entry.get_input_stream(&:read))
15
15
  end
16
16
 
17
17
  def add_to_zip(zip_stream)
@@ -79,9 +79,8 @@ module RubyXL
79
79
  define_element_name 'cellXfs'
80
80
 
81
81
  def self.default
82
- self.new(:_ => [
83
- RubyXL::XF.new(:num_fmt_id => 0, :font_id => 0, :fill_id => 0, :border_id => 0, :xfId => 0)
84
- ])
82
+ self.new(:_ => [ RubyXL::XF.new(:num_fmt_id => 0, :font_id => 0, :fill_id => 0,
83
+ :border_id => 0, :xfId => 0) ])
85
84
  end
86
85
  end
87
86
 
@@ -18,7 +18,7 @@ module RubyXL
18
18
 
19
19
  def before_write_xml
20
20
  preserve_whitespace
21
- self.value.gsub!(INVALID_XML10_CHARS) { |c| '_x%04x_' % c.ord }
21
+ self.value.gsub(INVALID_XML10_CHARS) { |bad_char| format('_x%04x_', bad_char.ord) }
22
22
  true
23
23
  end
24
24
 
@@ -84,8 +84,8 @@ module RubyXL
84
84
 
85
85
  def to_s
86
86
  # `dup` here unfreezes the string since it's not a constant but initial value
87
- str = if t.nil? then ''.dup else t.to_s end
88
- r && r.each { |rtr| str << rtr.to_s if rtr }
87
+ str = t.nil? ? ''.dup : t.to_s
88
+ r&.each { |rtr| str << rtr.to_s if rtr }
89
89
  str
90
90
  end
91
91
  end
@@ -1,5 +1,3 @@
1
- # encoding: UTF-8 <-- magic comment, need this because of sime fancy fonts in the default scheme below. See http://stackoverflow.com/questions/6444826/ruby-utf-8-file-encoding
2
-
3
1
  require 'rubyXL/objects/ooxml_object'
4
2
  require 'rubyXL/objects/extensions'
5
3
 
@@ -1391,21 +1389,21 @@ module RubyXL
1391
1389
  end
1392
1390
 
1393
1391
  def get_theme_color(idx)
1394
- color_scheme = a_theme_elements && a_theme_elements.a_clr_scheme
1395
-
1396
- if color_scheme then
1397
- case idx
1398
- when 0 then color_scheme.a_lt1
1399
- when 1 then color_scheme.a_dk1
1400
- when 2 then color_scheme.a_lt2
1401
- when 3 then color_scheme.a_dk2
1402
- when 4 then color_scheme.a_accent1
1403
- when 5 then color_scheme.a_accent2
1404
- when 6 then color_scheme.a_accent3
1405
- when 7 then color_scheme.a_accent4
1406
- when 8 then color_scheme.a_accent5
1407
- when 9 then color_scheme.a_accent6
1408
- end
1392
+ color_scheme = a_theme_elements&.a_clr_scheme
1393
+
1394
+ return unless color_scheme
1395
+
1396
+ case idx
1397
+ when 0 then color_scheme.a_lt1
1398
+ when 1 then color_scheme.a_dk1
1399
+ when 2 then color_scheme.a_lt2
1400
+ when 3 then color_scheme.a_dk2
1401
+ when 4 then color_scheme.a_accent1
1402
+ when 5 then color_scheme.a_accent2
1403
+ when 6 then color_scheme.a_accent3
1404
+ when 7 then color_scheme.a_accent4
1405
+ when 8 then color_scheme.a_accent5
1406
+ when 9 then color_scheme.a_accent6
1409
1407
  end
1410
1408
  end
1411
1409
 
@@ -303,7 +303,7 @@ module RubyXL
303
303
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'.freeze
304
304
 
305
305
  # http://www.accountingweb.com/technology/excel/seven-characters-you-cant-use-in-worksheet-names
306
- SHEET_NAME_FORBIDDEN_CHARS = /[\/\\*\[\]:?]/
306
+ SHEET_NAME_FORBIDDEN_CHARS = %r{[/\\*\[\]:?]}
307
307
 
308
308
  # https://answers.microsoft.com/en-us/msoffice/forum/all/excel-history-is-a-reserved-name-help/f8a398a4-b72c-48e3-82da-4f132c305e91
309
309
  SHEET_NAME_FORBIDDEN_NAMES = [ 'History' ]
@@ -411,12 +411,12 @@ module RubyXL
411
411
  alias_method :write, :save
412
412
 
413
413
  DATE1904 = DateTime.new(1904, 1, 1)
414
- # Subtracting one day to accomodate for erroneous 1900 leap year compatibility only for 1900 based dates
414
+ # Subtracting one day to accommodate for erroneous 1900 leap year compatibility only for 1900 based dates
415
415
  DATE1899 = DateTime.new(1899, 12, 31) - 1
416
416
  MARCH_1_1900 = 61
417
417
 
418
418
  def base_date
419
- (workbook_properties && workbook_properties.date1904) ? DATE1904 : DATE1899
419
+ workbook_properties&.date1904 ? DATE1904 : DATE1899
420
420
  end
421
421
  private :base_date
422
422
 
@@ -432,7 +432,7 @@ module RubyXL
432
432
 
433
433
  # Bug-for-bug Excel compatibility (https://support.microsoft.com/kb/214058/)
434
434
  if num < MARCH_1_1900 then
435
- num += 1 unless workbook_properties && workbook_properties.date1904
435
+ num += 1 unless workbook_properties&.date1904
436
436
  end
437
437
 
438
438
  dateparts = num.divmod(1)
@@ -518,7 +518,7 @@ module RubyXL
518
518
  end
519
519
 
520
520
  def company
521
- root.document_properties.company && root.document_properties.company.value
521
+ root.document_properties.company&.value
522
522
  end
523
523
 
524
524
  def company=(v)
@@ -527,7 +527,7 @@ module RubyXL
527
527
  end
528
528
 
529
529
  def application
530
- root.document_properties.application && root.document_properties.application.value
530
+ root.document_properties.application&.value
531
531
  end
532
532
 
533
533
  def application=(v)
@@ -536,7 +536,7 @@ module RubyXL
536
536
  end
537
537
 
538
538
  def appversion
539
- root.document_properties.app_version && root.document_properties.app_version.value
539
+ root.document_properties.app_version&.value
540
540
  end
541
541
 
542
542
  def appversion=(v)
@@ -561,7 +561,7 @@ module RubyXL
561
561
  end
562
562
 
563
563
  def date1904
564
- workbook_properties && workbook_properties.date1904
564
+ workbook_properties&.date1904
565
565
  end
566
566
 
567
567
  def date1904=(v)
@@ -173,7 +173,7 @@ module RubyXL
173
173
  # http://www.datypic.com/sc/ooxml/e-ssml_colorScale-1.html
174
174
  class ColorScale < OOXMLObject
175
175
  define_child_node(RubyXL::ConditionalFormatValue, :collection => true, :accessor => :cfvo)
176
- define_child_node(RubyXL::Color)
176
+ define_child_node(RubyXL::Color, :collection => true)
177
177
  define_element_name 'colorScale'
178
178
  end
179
179
 
@@ -183,7 +183,7 @@ module RubyXL
183
183
  define_attribute(:maxLength, :int, :default => 90)
184
184
  define_attribute(:showValue, :bool, :default => true)
185
185
  define_child_node(RubyXL::ConditionalFormatValue, :collection => true, :accessor => :cfvo)
186
- define_child_node(RubyXL::Color)
186
+ define_child_node(RubyXL::Color, :collection => true)
187
187
  define_element_name 'dataBar'
188
188
  end
189
189
 
@@ -1,5 +1,7 @@
1
1
  module RubyXL
2
2
  module LegacyWorksheet
3
+ TEXT_LENGTH_LIMIT_IN_CELL = 32767 # 2 ** 15 - 1
4
+
3
5
  include Enumerable
4
6
 
5
7
  def initialize(params = {})
@@ -50,9 +52,15 @@ module RubyXL
50
52
  case data
51
53
  when Numeric then c.raw_value = data
52
54
  when String then
55
+ if data.length > TEXT_LENGTH_LIMIT_IN_CELL
56
+ raise ArgumentError, "The maximum length of cell contents (text) is #{TEXT_LENGTH_LIMIT_IN_CELL} characters"
57
+ end
53
58
  c.raw_value = data
54
59
  c.datatype = RubyXL::DataType::RAW_STRING
55
60
  when RubyXL::RichText then
61
+ if data.to_s.length > TEXT_LENGTH_LIMIT_IN_CELL
62
+ raise ArgumentError, "The maximum length of cell contents (text) is #{TEXT_LENGTH_LIMIT_IN_CELL} characters"
63
+ end
56
64
  c.is = data
57
65
  c.datatype = RubyXL::DataType::INLINE_STRING
58
66
  when Time, Date, DateTime then
@@ -61,8 +69,8 @@ module RubyXL
61
69
  end
62
70
  end
63
71
 
64
- range = cols && cols.locate_range(column_index)
65
- c.style_index = row.style_index || (range && range.style_index) || 0
72
+ range = cols&.locate_range(column_index)
73
+ c.style_index = row.style_index || range&.style_index || 0
66
74
  row.cells[column_index] = c
67
75
  end
68
76
 
@@ -93,5 +101,5 @@ module RubyXL
93
101
  raise 'Row and Column arguments must be nonnegative' if row_or_col < 0
94
102
  end
95
103
  private :validate_nonnegative
96
- end # end class
104
+ end
97
105
  end
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>README - rubyXL 3.4.26</title>
7
+ <title>README - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "./";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AExtension - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AExtension - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -131,7 +131,7 @@
131
131
 
132
132
 
133
133
  <div class="method-source-code" id="parse-source">
134
- <pre><span class="ruby-comment"># File lib/rubyXL/objects/theme.rb, line 13</span>
134
+ <pre><span class="ruby-comment"># File lib/rubyXL/objects/theme.rb, line 11</span>
135
135
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">parse</span>(<span class="ruby-identifier">node</span>, <span class="ruby-identifier">ignore</span>)
136
136
  <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">new</span>
137
137
  <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">raw_xml</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">to_xml</span>
@@ -163,7 +163,7 @@
163
163
 
164
164
 
165
165
  <div class="method-source-code" id="write_xml-source">
166
- <pre><span class="ruby-comment"># File lib/rubyXL/objects/theme.rb, line 19</span>
166
+ <pre><span class="ruby-comment"># File lib/rubyXL/objects/theme.rb, line 17</span>
167
167
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">write_xml</span>(<span class="ruby-identifier">xml</span>, <span class="ruby-identifier">node_name_override</span> = <span class="ruby-keyword">nil</span>)
168
168
  <span class="ruby-keyword">self</span>.<span class="ruby-identifier">raw_xml</span>
169
169
  <span class="ruby-keyword">end</span></pre>
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AExtensionStorageArea - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AExtensionStorageArea - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::ActiveX - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::ActiveX - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::ActiveXBinary - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::ActiveXBinary - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AdjustHandleList - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AdjustHandleList - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::Alignment - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::Alignment - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AlternateContent - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AlternateContent - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AlternateUrls - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AlternateUrls - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::Authors - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::Authors - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AutoFilter - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AutoFilter - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AutoFilterColumn - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::AutoFilterColumn - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::BinaryImageFile - rubyXL 3.4.26</title>
7
+ <title>class RubyXL::BinaryImageFile - rubyXL 3.4.28</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";