rubyXL 3.3.29 → 3.4.27
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.
- checksums.yaml +5 -5
- data/.circleci/config.yml +60 -0
- data/.rubocop.yml +96 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +11 -8
- data/LICENSE.txt +1 -1
- data/README.rdoc +54 -18
- data/Rakefile +29 -29
- data/VERSION +1 -1
- data/lib/rubyXL/cell.rb +2 -29
- data/lib/rubyXL/convenience_methods/cell.rb +276 -0
- data/lib/rubyXL/convenience_methods/color.rb +156 -0
- data/lib/rubyXL/convenience_methods/font.rb +63 -0
- data/lib/rubyXL/convenience_methods/workbook.rb +141 -0
- data/lib/rubyXL/convenience_methods/worksheet.rb +714 -0
- data/lib/rubyXL/convenience_methods.rb +5 -1122
- data/lib/rubyXL/objects/border.rb +0 -3
- data/lib/rubyXL/objects/calculation_chain.rb +2 -2
- data/lib/rubyXL/objects/cell_style.rb +4 -6
- data/lib/rubyXL/objects/chartsheet.rb +8 -12
- data/lib/rubyXL/objects/color.rb +3 -5
- data/lib/rubyXL/objects/column_range.rb +0 -3
- data/lib/rubyXL/objects/comments.rb +1 -4
- data/lib/rubyXL/objects/connection.rb +175 -0
- data/lib/rubyXL/objects/container_nodes.rb +1 -5
- data/lib/rubyXL/objects/content_types.rb +3 -6
- data/lib/rubyXL/objects/data_validation.rb +2 -2
- data/lib/rubyXL/objects/document_properties.rb +11 -15
- data/lib/rubyXL/objects/extensions.rb +0 -2
- data/lib/rubyXL/objects/external_links.rb +38 -8
- data/lib/rubyXL/objects/fill.rb +2 -5
- data/lib/rubyXL/objects/filters.rb +5 -7
- data/lib/rubyXL/objects/font.rb +2 -7
- data/lib/rubyXL/objects/formula.rb +3 -5
- data/lib/rubyXL/objects/ooxml_object.rb +26 -19
- data/lib/rubyXL/objects/query_table.rb +104 -0
- data/lib/rubyXL/objects/reference.rb +17 -12
- data/lib/rubyXL/objects/relationships.rb +13 -13
- data/lib/rubyXL/objects/root.rb +0 -2
- data/lib/rubyXL/objects/shared_strings.rb +3 -6
- data/lib/rubyXL/objects/sheet_common.rb +1 -3
- data/lib/rubyXL/objects/sheet_data.rb +38 -11
- data/lib/rubyXL/objects/simple_types.rb +19 -2
- data/lib/rubyXL/objects/storage.rb +59 -48
- data/lib/rubyXL/objects/stylesheet.rb +8 -15
- data/lib/rubyXL/objects/text.rb +5 -7
- data/lib/rubyXL/objects/theme.rb +24 -8
- data/lib/rubyXL/objects/workbook.rb +141 -33
- data/lib/rubyXL/objects/worksheet.rb +46 -32
- data/lib/rubyXL/parser.rb +1 -3
- data/lib/rubyXL/worksheet.rb +91 -91
- data/lib/rubyXL.rb +1 -1
- data/rdoc/README_rdoc.html +209 -151
- data/rdoc/RubyXL/AExtension.html +33 -69
- data/rdoc/RubyXL/AExtensionStorageArea.html +12 -18
- data/rdoc/RubyXL/ActiveX.html +26 -52
- data/rdoc/RubyXL/ActiveXBinary.html +12 -23
- data/rdoc/RubyXL/AdjustHandleList.html +13 -20
- data/rdoc/RubyXL/Alignment.html +13 -20
- data/rdoc/RubyXL/AlternateContent.html +12 -18
- data/rdoc/RubyXL/AlternateUrls.html +99 -0
- data/rdoc/RubyXL/Authors.html +13 -20
- data/rdoc/RubyXL/AutoFilter.html +13 -20
- data/rdoc/RubyXL/AutoFilterColumn.html +13 -20
- data/rdoc/RubyXL/BinaryImageFile.html +12 -26
- data/rdoc/RubyXL/BodyProperties.html +13 -20
- data/rdoc/RubyXL/BooleanNode.html +12 -18
- data/rdoc/RubyXL/BooleanValue.html +12 -18
- data/rdoc/RubyXL/Border.html +49 -101
- data/rdoc/RubyXL/BorderEdge.html +32 -61
- data/rdoc/RubyXL/Borders.html +25 -44
- data/rdoc/RubyXL/Break.html +13 -20
- data/rdoc/RubyXL/BreakList.html +13 -20
- data/rdoc/RubyXL/CT_AdjPoint2D.html +13 -20
- data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaModulateEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +13 -20
- data/rdoc/RubyXL/CT_Backdrop.html +13 -20
- data/rdoc/RubyXL/CT_Bevel.html +13 -20
- data/rdoc/RubyXL/CT_BiLevelEffect.html +13 -20
- data/rdoc/RubyXL/CT_BlendEffect.html +13 -20
- data/rdoc/RubyXL/CT_Blip.html +13 -20
- data/rdoc/RubyXL/CT_BlipFillProperties.html +13 -20
- data/rdoc/RubyXL/CT_BlurEffect.html +13 -20
- data/rdoc/RubyXL/CT_Camera.html +13 -20
- data/rdoc/RubyXL/CT_Color.html +13 -20
- data/rdoc/RubyXL/CT_ColorChangeEffect.html +13 -20
- data/rdoc/RubyXL/CT_ColorMapping.html +13 -20
- data/rdoc/RubyXL/CT_ColorScheme.html +13 -20
- data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +13 -20
- data/rdoc/RubyXL/CT_ConnectionSite.html +13 -20
- data/rdoc/RubyXL/CT_ConnectionSiteList.html +13 -20
- data/rdoc/RubyXL/CT_DashStop.html +13 -20
- data/rdoc/RubyXL/CT_DashStopList.html +13 -20
- data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +13 -20
- data/rdoc/RubyXL/CT_DuotoneEffect.html +13 -20
- data/rdoc/RubyXL/CT_EffectContainer.html +13 -20
- data/rdoc/RubyXL/CT_EffectList.html +13 -20
- data/rdoc/RubyXL/CT_EffectReference.html +13 -20
- data/rdoc/RubyXL/CT_EffectStyleItem.html +13 -20
- data/rdoc/RubyXL/CT_EffectStyleList.html +13 -20
- data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +13 -20
- data/rdoc/RubyXL/CT_FillEffect.html +13 -20
- data/rdoc/RubyXL/CT_FillOverlayEffect.html +13 -20
- data/rdoc/RubyXL/CT_FillStyleList.html +13 -20
- data/rdoc/RubyXL/CT_FlatText.html +13 -20
- data/rdoc/RubyXL/CT_FontCollection.html +13 -20
- data/rdoc/RubyXL/CT_FontReference.html +13 -20
- data/rdoc/RubyXL/CT_GeomGuideList.html +13 -20
- data/rdoc/RubyXL/CT_GlowEffect.html +13 -20
- data/rdoc/RubyXL/CT_GradientFillProperties.html +13 -20
- data/rdoc/RubyXL/CT_GradientStop.html +13 -20
- data/rdoc/RubyXL/CT_GradientStopList.html +13 -20
- data/rdoc/RubyXL/CT_HSLEffect.html +13 -20
- data/rdoc/RubyXL/CT_HslColor.html +13 -20
- data/rdoc/RubyXL/CT_Hyperlink.html +13 -20
- data/rdoc/RubyXL/CT_InnerShadowEffect.html +13 -20
- data/rdoc/RubyXL/CT_LightRig.html +13 -20
- data/rdoc/RubyXL/CT_LineEndProperties.html +13 -20
- data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +13 -20
- data/rdoc/RubyXL/CT_LineProperties.html +13 -20
- data/rdoc/RubyXL/CT_LineStyleList.html +13 -20
- data/rdoc/RubyXL/CT_LinearShadeProperties.html +13 -20
- data/rdoc/RubyXL/CT_LuminanceEffect.html +13 -20
- data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +13 -20
- data/rdoc/RubyXL/CT_OuterShadowEffect.html +13 -20
- data/rdoc/RubyXL/CT_Path2D.html +13 -20
- data/rdoc/RubyXL/CT_Path2DArcTo.html +13 -20
- data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +13 -20
- data/rdoc/RubyXL/CT_Path2DList.html +13 -20
- data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +13 -20
- data/rdoc/RubyXL/CT_Path2DTo.html +13 -20
- data/rdoc/RubyXL/CT_PathShadeProperties.html +13 -20
- data/rdoc/RubyXL/CT_PatternFillProperties.html +13 -20
- data/rdoc/RubyXL/CT_Point3D.html +13 -20
- data/rdoc/RubyXL/CT_PolarAdjustHandle.html +13 -20
- data/rdoc/RubyXL/CT_PresetColor.html +13 -20
- data/rdoc/RubyXL/CT_PresetLineDashProperties.html +13 -20
- data/rdoc/RubyXL/CT_PresetShadowEffect.html +13 -20
- data/rdoc/RubyXL/CT_PresetTextShape.html +13 -20
- data/rdoc/RubyXL/CT_ReflectionEffect.html +13 -20
- data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +13 -20
- data/rdoc/RubyXL/CT_RelativeRect.html +13 -20
- data/rdoc/RubyXL/CT_SRgbColor.html +13 -20
- data/rdoc/RubyXL/CT_ScRgbColor.html +13 -20
- data/rdoc/RubyXL/CT_Scene3D.html +13 -20
- data/rdoc/RubyXL/CT_SchemeColor.html +13 -20
- data/rdoc/RubyXL/CT_Shape3D.html +13 -20
- data/rdoc/RubyXL/CT_ShapeStyle.html +13 -20
- data/rdoc/RubyXL/CT_SoftEdgesEffect.html +13 -20
- data/rdoc/RubyXL/CT_SphereCoords.html +13 -20
- data/rdoc/RubyXL/CT_StretchInfoProperties.html +13 -20
- data/rdoc/RubyXL/CT_StyleMatrix.html +13 -20
- data/rdoc/RubyXL/CT_StyleMatrixReference.html +13 -20
- data/rdoc/RubyXL/CT_SupplementalFont.html +13 -20
- data/rdoc/RubyXL/CT_SystemColor.html +13 -20
- data/rdoc/RubyXL/CT_TextAutonumberBullet.html +13 -20
- data/rdoc/RubyXL/CT_TextBlipBullet.html +13 -20
- data/rdoc/RubyXL/CT_TextCharBullet.html +13 -20
- data/rdoc/RubyXL/CT_TextCharacterProperties.html +13 -20
- data/rdoc/RubyXL/CT_TextFont.html +13 -20
- data/rdoc/RubyXL/CT_TextListStyle.html +13 -20
- data/rdoc/RubyXL/CT_TextNormalAutofit.html +13 -20
- data/rdoc/RubyXL/CT_TextParagraphProperties.html +13 -20
- data/rdoc/RubyXL/CT_TextSpacing.html +13 -20
- data/rdoc/RubyXL/CT_TextTabStop.html +13 -20
- data/rdoc/RubyXL/CT_TextTabStopList.html +13 -20
- data/rdoc/RubyXL/CT_TileInfoProperties.html +13 -20
- data/rdoc/RubyXL/CT_TintEffect.html +13 -20
- data/rdoc/RubyXL/CT_Transform2D.html +13 -20
- data/rdoc/RubyXL/CT_TransformEffect.html +13 -20
- data/rdoc/RubyXL/CT_Vector3D.html +13 -20
- data/rdoc/RubyXL/CT_XYAdjustHandle.html +13 -20
- data/rdoc/RubyXL/CalculationChain.html +23 -50
- data/rdoc/RubyXL/CalculationChainCell.html +13 -20
- data/rdoc/RubyXL/CalculationProperties.html +13 -20
- data/rdoc/RubyXL/Cell.html +205 -253
- data/rdoc/RubyXL/CellConvenienceMethods.html +437 -571
- data/rdoc/RubyXL/CellExt.html +13 -20
- data/rdoc/RubyXL/CellSmartTag.html +13 -20
- data/rdoc/RubyXL/CellSmartTagProperty.html +13 -20
- data/rdoc/RubyXL/CellSmartTags.html +13 -20
- data/rdoc/RubyXL/CellStyle.html +13 -20
- data/rdoc/RubyXL/CellStyleXFs.html +25 -44
- data/rdoc/RubyXL/CellStyles.html +25 -44
- data/rdoc/RubyXL/CellValue.html +24 -43
- data/rdoc/RubyXL/CellWatch.html +13 -20
- data/rdoc/RubyXL/CellWatches.html +13 -20
- data/rdoc/RubyXL/CellXFs.html +26 -47
- data/rdoc/RubyXL/ChartColorsFile.html +12 -26
- data/rdoc/RubyXL/ChartFile.html +25 -54
- data/rdoc/RubyXL/ChartStyleFile.html +12 -26
- data/rdoc/RubyXL/ChartUserShapesFile.html +12 -26
- data/rdoc/RubyXL/Chartsheet.html +26 -73
- data/rdoc/RubyXL/ChartsheetPageSetup.html +13 -20
- data/rdoc/RubyXL/ChartsheetProperties.html +13 -20
- data/rdoc/RubyXL/ChartsheetProtection.html +13 -20
- data/rdoc/RubyXL/ChartsheetView.html +13 -20
- data/rdoc/RubyXL/ChartsheetViews.html +13 -20
- data/rdoc/RubyXL/Color.html +24 -48
- data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +246 -0
- data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +285 -0
- data/rdoc/RubyXL/ColorConvenienceClasses.html +91 -0
- data/rdoc/RubyXL/ColorConvenienceMethods.html +139 -0
- data/rdoc/RubyXL/ColorFilter.html +13 -20
- data/rdoc/RubyXL/ColorScale.html +13 -20
- data/rdoc/RubyXL/ColorSet.html +13 -20
- data/rdoc/RubyXL/Colors.html +13 -20
- data/rdoc/RubyXL/ColumnRange.html +41 -87
- data/rdoc/RubyXL/ColumnRanges.html +48 -100
- data/rdoc/RubyXL/Comment.html +13 -20
- data/rdoc/RubyXL/CommentList.html +13 -20
- data/rdoc/RubyXL/CommentsFile.html +24 -56
- data/rdoc/RubyXL/ConditionalFormatValue.html +13 -20
- data/rdoc/RubyXL/ConditionalFormatting.html +13 -20
- data/rdoc/RubyXL/ConditionalFormattingRule.html +13 -20
- data/rdoc/RubyXL/Connection.html +99 -0
- data/rdoc/RubyXL/ConnectionTable.html +99 -0
- data/rdoc/RubyXL/ConnectionTables.html +99 -0
- data/rdoc/RubyXL/ConnectionTextField.html +99 -0
- data/rdoc/RubyXL/ConnectionTextFields.html +99 -0
- data/rdoc/RubyXL/Connections.html +149 -0
- data/rdoc/RubyXL/ContentTypeDefault.html +12 -18
- data/rdoc/RubyXL/ContentTypeOverride.html +12 -18
- data/rdoc/RubyXL/ContentTypes.html +35 -72
- data/rdoc/RubyXL/ControlPropertiesFile.html +14 -23
- data/rdoc/RubyXL/CorePropertiesFile.html +89 -208
- data/rdoc/RubyXL/CustomColor.html +13 -20
- data/rdoc/RubyXL/CustomColorList.html +13 -20
- data/rdoc/RubyXL/CustomFilter.html +13 -20
- data/rdoc/RubyXL/CustomFilters.html +13 -20
- data/rdoc/RubyXL/CustomGeometry.html +13 -20
- data/rdoc/RubyXL/CustomProperties.html +13 -20
- data/rdoc/RubyXL/CustomPropertiesFile.html +12 -26
- data/rdoc/RubyXL/CustomProperty.html +13 -20
- data/rdoc/RubyXL/CustomPropertyFile.html +108 -0
- data/rdoc/RubyXL/CustomSheetView.html +13 -20
- data/rdoc/RubyXL/CustomSheetViews.html +13 -20
- data/rdoc/RubyXL/CustomWorkbookView.html +13 -20
- data/rdoc/RubyXL/CustomWorkbookViews.html +13 -20
- data/rdoc/RubyXL/CustomXMLFile.html +12 -23
- data/rdoc/RubyXL/DXF.html +13 -20
- data/rdoc/RubyXL/DXFs.html +13 -20
- data/rdoc/RubyXL/DataBar.html +13 -20
- data/rdoc/RubyXL/DataConsolidate.html +13 -20
- data/rdoc/RubyXL/DataConsolidationReference.html +13 -20
- data/rdoc/RubyXL/DataConsolidationReferences.html +13 -20
- data/rdoc/RubyXL/DataType.html +11 -40
- data/rdoc/RubyXL/DataValidation.html +13 -20
- data/rdoc/RubyXL/DataValidations.html +13 -20
- data/rdoc/RubyXL/DateGroupItem.html +13 -20
- data/rdoc/RubyXL/DefinedName.html +13 -20
- data/rdoc/RubyXL/DefinedNameExt.html +13 -20
- data/rdoc/RubyXL/DefinedNames.html +13 -20
- data/rdoc/RubyXL/DefinedNamesExt.html +13 -20
- data/rdoc/RubyXL/DocumentPropertiesFile.html +34 -77
- data/rdoc/RubyXL/DrawingFile.html +25 -54
- data/rdoc/RubyXL/DynamicFilter.html +13 -20
- data/rdoc/RubyXL/EmbeddedControl.html +13 -20
- data/rdoc/RubyXL/EmbeddedControls.html +13 -20
- data/rdoc/RubyXL/Extension.html +13 -20
- data/rdoc/RubyXL/ExtensionStorageArea.html +13 -20
- data/rdoc/RubyXL/Extents.html +13 -20
- data/rdoc/RubyXL/ExternalBook.html +13 -20
- data/rdoc/RubyXL/ExternalLinksFile.html +25 -54
- data/rdoc/RubyXL/ExternalReference.html +13 -20
- data/rdoc/RubyXL/ExternalReferences.html +13 -20
- data/rdoc/RubyXL/ExtraColorSchemeList.html +13 -20
- data/rdoc/RubyXL/FieldItem.html +13 -20
- data/rdoc/RubyXL/FileRecoveryProperties.html +13 -20
- data/rdoc/RubyXL/FileSharing.html +13 -20
- data/rdoc/RubyXL/FileVersion.html +13 -20
- data/rdoc/RubyXL/Fill.html +25 -44
- data/rdoc/RubyXL/Fills.html +25 -44
- data/rdoc/RubyXL/FilterContainer.html +13 -20
- data/rdoc/RubyXL/FloatNode.html +12 -18
- data/rdoc/RubyXL/FloatValue.html +12 -18
- data/rdoc/RubyXL/Font.html +28 -64
- data/rdoc/RubyXL/FontConvenienceMethods.html +133 -294
- data/rdoc/RubyXL/FontScheme.html +13 -20
- data/rdoc/RubyXL/Fonts.html +25 -44
- data/rdoc/RubyXL/Formula.html +13 -20
- data/rdoc/RubyXL/FunctionGroup.html +13 -20
- data/rdoc/RubyXL/FunctionGroups.html +13 -20
- data/rdoc/RubyXL/GenericStorageObject.html +40 -97
- data/rdoc/RubyXL/GradientFill.html +13 -20
- data/rdoc/RubyXL/HeaderFooterSettings.html +13 -20
- data/rdoc/RubyXL/Hyperlink.html +13 -20
- data/rdoc/RubyXL/HyperlinkRelFile.html +12 -23
- data/rdoc/RubyXL/Hyperlinks.html +13 -20
- data/rdoc/RubyXL/IconFilter.html +13 -20
- data/rdoc/RubyXL/IconSet.html +13 -20
- data/rdoc/RubyXL/IgnoredError.html +13 -20
- data/rdoc/RubyXL/IgnoredErrors.html +13 -20
- data/rdoc/RubyXL/IndexedColors.html +13 -20
- data/rdoc/RubyXL/InputCells.html +13 -20
- data/rdoc/RubyXL/IntegerNode.html +12 -18
- data/rdoc/RubyXL/IntegerValue.html +12 -18
- data/rdoc/RubyXL/LegacyCell.html +20 -71
- data/rdoc/RubyXL/LegacyWorksheet.html +75 -124
- data/rdoc/RubyXL/MRUColors.html +13 -20
- data/rdoc/RubyXL/MacrosFile.html +12 -26
- data/rdoc/RubyXL/MergedCell.html +13 -20
- data/rdoc/RubyXL/MergedCells.html +13 -20
- data/rdoc/RubyXL/NumFmt.html +13 -20
- data/rdoc/RubyXL/NumberFormat.html +25 -44
- data/rdoc/RubyXL/NumberFormats.html +25 -50
- data/rdoc/RubyXL/OLEObject.html +13 -20
- data/rdoc/RubyXL/OLEObjectFile.html +12 -26
- data/rdoc/RubyXL/OLEObjects.html +13 -20
- data/rdoc/RubyXL/OLESize.html +13 -20
- data/rdoc/RubyXL/OOXMLContainerObject.html +72 -157
- data/rdoc/RubyXL/OOXMLIgnored.html +32 -62
- data/rdoc/RubyXL/OOXMLObject.html +15 -26
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +122 -202
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +96 -217
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +108 -241
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +67 -154
- data/rdoc/RubyXL/OdbcOleDbProperties.html +99 -0
- data/rdoc/RubyXL/Offset.html +13 -20
- data/rdoc/RubyXL/OlapProperties.html +99 -0
- data/rdoc/RubyXL/OleItem.html +99 -0
- data/rdoc/RubyXL/OleItems.html +99 -0
- data/rdoc/RubyXL/OleLink.html +99 -0
- data/rdoc/RubyXL/OutlineProperties.html +13 -20
- data/rdoc/RubyXL/PageMargins.html +13 -20
- data/rdoc/RubyXL/PageSetup.html +13 -20
- data/rdoc/RubyXL/PageSetupProperties.html +13 -20
- data/rdoc/RubyXL/Pane.html +13 -20
- data/rdoc/RubyXL/Parser.html +35 -65
- data/rdoc/RubyXL/PatternFill.html +13 -20
- data/rdoc/RubyXL/PersonMetadata.html +108 -0
- data/rdoc/RubyXL/PhoneticProperties.html +13 -20
- data/rdoc/RubyXL/PhoneticRun.html +13 -20
- data/rdoc/RubyXL/PivotArea.html +13 -20
- data/rdoc/RubyXL/PivotCache.html +13 -20
- data/rdoc/RubyXL/PivotCacheDefinitionFile.html +14 -31
- data/rdoc/RubyXL/PivotCacheRecordsFile.html +12 -26
- data/rdoc/RubyXL/PivotCaches.html +13 -20
- data/rdoc/RubyXL/PivotReference.html +13 -20
- data/rdoc/RubyXL/PivotReferences.html +13 -20
- data/rdoc/RubyXL/PivotTableFile.html +14 -31
- data/rdoc/RubyXL/PivotTableSelection.html +13 -20
- data/rdoc/RubyXL/PresetGeometry.html +13 -20
- data/rdoc/RubyXL/PrintOptions.html +13 -20
- data/rdoc/RubyXL/PrinterSettingsFile.html +12 -26
- data/rdoc/RubyXL/ProtectedRange.html +13 -20
- data/rdoc/RubyXL/ProtectedRanges.html +13 -20
- data/rdoc/RubyXL/Protection.html +13 -20
- data/rdoc/RubyXL/QueryParameter.html +99 -0
- data/rdoc/RubyXL/QueryParameters.html +99 -0
- data/rdoc/RubyXL/QueryTable.html +157 -0
- data/rdoc/RubyXL/QueryTableDeletedField.html +99 -0
- data/rdoc/RubyXL/QueryTableDeletedFields.html +99 -0
- data/rdoc/RubyXL/QueryTableField.html +99 -0
- data/rdoc/RubyXL/QueryTableFields.html +99 -0
- data/rdoc/RubyXL/QueryTableRefresh.html +99 -0
- data/rdoc/RubyXL/RID.html +12 -18
- data/rdoc/RubyXL/RawOOXML.html +33 -69
- data/rdoc/RubyXL/Reference.html +149 -283
- data/rdoc/RubyXL/Relationship.html +12 -18
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +20 -37
- data/rdoc/RubyXL/RelationshipSupport.html +62 -145
- data/rdoc/RubyXL/RevisionPointer.html +13 -23
- data/rdoc/RubyXL/RichText.html +26 -44
- data/rdoc/RubyXL/RichTextRun.html +24 -43
- data/rdoc/RubyXL/Row.html +88 -205
- data/rdoc/RubyXL/RowExt.html +13 -20
- data/rdoc/RubyXL/RunProperties.html +13 -20
- data/rdoc/RubyXL/Scenario.html +13 -20
- data/rdoc/RubyXL/Scenarios.html +13 -20
- data/rdoc/RubyXL/Selection.html +23 -42
- data/rdoc/RubyXL/ShapeGuide.html +13 -20
- data/rdoc/RubyXL/ShapeTextRectangle.html +13 -20
- data/rdoc/RubyXL/SharedStringsTable.html +80 -176
- data/rdoc/RubyXL/Sheet.html +13 -20
- data/rdoc/RubyXL/SheetCalculationProperties.html +13 -20
- data/rdoc/RubyXL/SheetData.html +32 -62
- data/rdoc/RubyXL/SheetDataExt.html +13 -20
- data/rdoc/RubyXL/SheetDataSet.html +13 -20
- data/rdoc/RubyXL/SheetMetadata.html +108 -0
- data/rdoc/RubyXL/SheetName.html +13 -20
- data/rdoc/RubyXL/SheetNames.html +13 -20
- data/rdoc/RubyXL/Sheets.html +13 -20
- data/rdoc/RubyXL/SlicerCacheFile.html +12 -26
- data/rdoc/RubyXL/SlicerFile.html +12 -26
- data/rdoc/RubyXL/SmartTagProperties.html +13 -20
- data/rdoc/RubyXL/SmartTagType.html +13 -20
- data/rdoc/RubyXL/SmartTagTypes.html +13 -20
- data/rdoc/RubyXL/SmartTags.html +13 -20
- data/rdoc/RubyXL/SortCondition.html +13 -20
- data/rdoc/RubyXL/SortState.html +13 -20
- data/rdoc/RubyXL/Sqref.html +32 -62
- data/rdoc/RubyXL/Stop.html +13 -20
- data/rdoc/RubyXL/StringNode.html +12 -18
- data/rdoc/RubyXL/StringNodeW3C.html +33 -63
- data/rdoc/RubyXL/StringValue.html +12 -18
- data/rdoc/RubyXL/Stylesheet.html +65 -138
- data/rdoc/RubyXL/TableFile.html +12 -26
- data/rdoc/RubyXL/TableParts.html +12 -18
- data/rdoc/RubyXL/TableStyle.html +13 -20
- data/rdoc/RubyXL/TableStyles.html +13 -20
- data/rdoc/RubyXL/Text.html +35 -76
- data/rdoc/RubyXL/TextImportSettings.html +99 -0
- data/rdoc/RubyXL/Theme.html +71 -71
- data/rdoc/RubyXL/ThemeElements.html +13 -20
- data/rdoc/RubyXL/ThumbnailFile.html +12 -26
- data/rdoc/RubyXL/Top10.html +13 -20
- data/rdoc/RubyXL/VMLDrawingFile.html +15 -33
- data/rdoc/RubyXL/Variant.html +13 -20
- data/rdoc/RubyXL/Vector.html +24 -43
- data/rdoc/RubyXL/VectorValue.html +12 -18
- data/rdoc/RubyXL/VisualProperties.html +13 -20
- data/rdoc/RubyXL/WebPublishObject.html +13 -20
- data/rdoc/RubyXL/WebPublishObjects.html +13 -20
- data/rdoc/RubyXL/WebPublishingItem.html +13 -20
- data/rdoc/RubyXL/WebPublishingItems.html +13 -20
- data/rdoc/RubyXL/WebPublishingProperties.html +13 -20
- data/rdoc/RubyXL/WebQueryProperties.html +99 -0
- data/rdoc/RubyXL/Workbook.html +580 -265
- data/rdoc/RubyXL/WorkbookConvenienceMethods.html +229 -950
- data/rdoc/RubyXL/WorkbookProperties.html +13 -20
- data/rdoc/RubyXL/WorkbookProtection.html +13 -20
- data/rdoc/RubyXL/WorkbookRoot.html +58 -135
- data/rdoc/RubyXL/WorkbookView.html +13 -20
- data/rdoc/RubyXL/WorkbookViews.html +13 -20
- data/rdoc/RubyXL/Worksheet.html +122 -137
- data/rdoc/RubyXL/WorksheetConvenienceMethods.html +698 -1371
- data/rdoc/RubyXL/WorksheetDimensions.html +13 -20
- data/rdoc/RubyXL/WorksheetFormatProperties.html +12 -18
- data/rdoc/RubyXL/WorksheetProperties.html +13 -20
- data/rdoc/RubyXL/WorksheetProtection.html +13 -20
- data/rdoc/RubyXL/WorksheetView.html +13 -20
- data/rdoc/RubyXL/WorksheetViews.html +13 -20
- data/rdoc/RubyXL/XF.html +13 -20
- data/rdoc/RubyXL.html +46 -306
- data/rdoc/created.rid +45 -38
- data/rdoc/css/rdoc.css +109 -12
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/index.html +403 -726
- data/rdoc/js/darkfish.js +33 -97
- data/rdoc/js/navigation.js +12 -49
- data/rdoc/js/navigation.js.gz +0 -0
- data/rdoc/js/search.js +35 -34
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/js/search_index.js.gz +0 -0
- data/rdoc/js/searcher.js +6 -6
- data/rdoc/js/searcher.js.gz +0 -0
- data/rdoc/table_of_contents.html +282 -45
- data/rubyXL.gemspec +77 -43
- data/spec/lib/cell_spec.rb +117 -6
- data/spec/lib/color_spec.rb +2 -1
- data/spec/lib/parser_spec.rb +24 -27
- data/spec/lib/reference_spec.rb +40 -5
- data/spec/lib/rgb_color_spec.rb +27 -0
- data/spec/lib/stylesheet_spec.rb +10 -11
- data/spec/lib/text_spec.rb +1 -5
- data/spec/lib/workbook_spec.rb +27 -6
- data/spec/lib/worksheet_spec.rb +873 -479
- data/spec/spec_helper.rb +2 -0
- data/test/test_parse_write.rb +15 -15
- metadata +76 -10
- data/rdoc/js/jquery.js +0 -4
data/rubyXL.gemspec
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
# Generated by
|
|
1
|
+
# Generated by juwelier
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
-
# Instead, edit
|
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: rubyXL 3.
|
|
5
|
+
# stub: rubyXL 3.4.27 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
|
-
s.name = "rubyXL"
|
|
9
|
-
s.version = "3.
|
|
8
|
+
s.name = "rubyXL".freeze
|
|
9
|
+
s.version = "3.4.27"
|
|
10
10
|
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
|
-
s.require_paths = ["lib"]
|
|
13
|
-
s.authors = ["Vivek Bhagwat", "Wesha"]
|
|
14
|
-
s.date = "
|
|
15
|
-
s.description = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents"
|
|
16
|
-
s.email = "bhagwat.vivek@gmail.com"
|
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib".freeze]
|
|
13
|
+
s.authors = ["Vivek Bhagwat".freeze, "Wesha".freeze]
|
|
14
|
+
s.date = "2024-04-11"
|
|
15
|
+
s.description = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
|
|
16
|
+
s.email = "bhagwat.vivek@gmail.com".freeze
|
|
17
17
|
s.extra_rdoc_files = [
|
|
18
18
|
"LICENSE.txt",
|
|
19
19
|
"README.rdoc"
|
|
20
20
|
]
|
|
21
21
|
s.files = [
|
|
22
|
+
".circleci/config.yml",
|
|
22
23
|
".codeclimate.yml",
|
|
24
|
+
".rubocop.yml",
|
|
25
|
+
"CHANGELOG.md",
|
|
23
26
|
"Gemfile",
|
|
24
27
|
"LICENSE.txt",
|
|
25
28
|
"README.rdoc",
|
|
@@ -28,6 +31,11 @@ Gem::Specification.new do |s|
|
|
|
28
31
|
"lib/rubyXL.rb",
|
|
29
32
|
"lib/rubyXL/cell.rb",
|
|
30
33
|
"lib/rubyXL/convenience_methods.rb",
|
|
34
|
+
"lib/rubyXL/convenience_methods/cell.rb",
|
|
35
|
+
"lib/rubyXL/convenience_methods/color.rb",
|
|
36
|
+
"lib/rubyXL/convenience_methods/font.rb",
|
|
37
|
+
"lib/rubyXL/convenience_methods/workbook.rb",
|
|
38
|
+
"lib/rubyXL/convenience_methods/worksheet.rb",
|
|
31
39
|
"lib/rubyXL/objects/border.rb",
|
|
32
40
|
"lib/rubyXL/objects/calculation_chain.rb",
|
|
33
41
|
"lib/rubyXL/objects/cell_style.rb",
|
|
@@ -35,6 +43,7 @@ Gem::Specification.new do |s|
|
|
|
35
43
|
"lib/rubyXL/objects/color.rb",
|
|
36
44
|
"lib/rubyXL/objects/column_range.rb",
|
|
37
45
|
"lib/rubyXL/objects/comments.rb",
|
|
46
|
+
"lib/rubyXL/objects/connection.rb",
|
|
38
47
|
"lib/rubyXL/objects/container_nodes.rb",
|
|
39
48
|
"lib/rubyXL/objects/content_types.rb",
|
|
40
49
|
"lib/rubyXL/objects/data_validation.rb",
|
|
@@ -46,6 +55,7 @@ Gem::Specification.new do |s|
|
|
|
46
55
|
"lib/rubyXL/objects/font.rb",
|
|
47
56
|
"lib/rubyXL/objects/formula.rb",
|
|
48
57
|
"lib/rubyXL/objects/ooxml_object.rb",
|
|
58
|
+
"lib/rubyXL/objects/query_table.rb",
|
|
49
59
|
"lib/rubyXL/objects/reference.rb",
|
|
50
60
|
"lib/rubyXL/objects/relationships.rb",
|
|
51
61
|
"lib/rubyXL/objects/root.rb",
|
|
@@ -70,6 +80,7 @@ Gem::Specification.new do |s|
|
|
|
70
80
|
"rdoc/RubyXL/AdjustHandleList.html",
|
|
71
81
|
"rdoc/RubyXL/Alignment.html",
|
|
72
82
|
"rdoc/RubyXL/AlternateContent.html",
|
|
83
|
+
"rdoc/RubyXL/AlternateUrls.html",
|
|
73
84
|
"rdoc/RubyXL/Authors.html",
|
|
74
85
|
"rdoc/RubyXL/AutoFilter.html",
|
|
75
86
|
"rdoc/RubyXL/AutoFilterColumn.html",
|
|
@@ -211,6 +222,10 @@ Gem::Specification.new do |s|
|
|
|
211
222
|
"rdoc/RubyXL/ChartsheetView.html",
|
|
212
223
|
"rdoc/RubyXL/ChartsheetViews.html",
|
|
213
224
|
"rdoc/RubyXL/Color.html",
|
|
225
|
+
"rdoc/RubyXL/ColorConvenienceClasses.html",
|
|
226
|
+
"rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html",
|
|
227
|
+
"rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html",
|
|
228
|
+
"rdoc/RubyXL/ColorConvenienceMethods.html",
|
|
214
229
|
"rdoc/RubyXL/ColorFilter.html",
|
|
215
230
|
"rdoc/RubyXL/ColorScale.html",
|
|
216
231
|
"rdoc/RubyXL/ColorSet.html",
|
|
@@ -223,6 +238,12 @@ Gem::Specification.new do |s|
|
|
|
223
238
|
"rdoc/RubyXL/ConditionalFormatValue.html",
|
|
224
239
|
"rdoc/RubyXL/ConditionalFormatting.html",
|
|
225
240
|
"rdoc/RubyXL/ConditionalFormattingRule.html",
|
|
241
|
+
"rdoc/RubyXL/Connection.html",
|
|
242
|
+
"rdoc/RubyXL/ConnectionTable.html",
|
|
243
|
+
"rdoc/RubyXL/ConnectionTables.html",
|
|
244
|
+
"rdoc/RubyXL/ConnectionTextField.html",
|
|
245
|
+
"rdoc/RubyXL/ConnectionTextFields.html",
|
|
246
|
+
"rdoc/RubyXL/Connections.html",
|
|
226
247
|
"rdoc/RubyXL/ContentTypeDefault.html",
|
|
227
248
|
"rdoc/RubyXL/ContentTypeOverride.html",
|
|
228
249
|
"rdoc/RubyXL/ContentTypes.html",
|
|
@@ -236,6 +257,7 @@ Gem::Specification.new do |s|
|
|
|
236
257
|
"rdoc/RubyXL/CustomProperties.html",
|
|
237
258
|
"rdoc/RubyXL/CustomPropertiesFile.html",
|
|
238
259
|
"rdoc/RubyXL/CustomProperty.html",
|
|
260
|
+
"rdoc/RubyXL/CustomPropertyFile.html",
|
|
239
261
|
"rdoc/RubyXL/CustomSheetView.html",
|
|
240
262
|
"rdoc/RubyXL/CustomSheetViews.html",
|
|
241
263
|
"rdoc/RubyXL/CustomWorkbookView.html",
|
|
@@ -318,7 +340,12 @@ Gem::Specification.new do |s|
|
|
|
318
340
|
"rdoc/RubyXL/OOXMLObjectInstanceMethods.html",
|
|
319
341
|
"rdoc/RubyXL/OOXMLRelationshipsFile.html",
|
|
320
342
|
"rdoc/RubyXL/OOXMLTopLevelObject.html",
|
|
343
|
+
"rdoc/RubyXL/OdbcOleDbProperties.html",
|
|
321
344
|
"rdoc/RubyXL/Offset.html",
|
|
345
|
+
"rdoc/RubyXL/OlapProperties.html",
|
|
346
|
+
"rdoc/RubyXL/OleItem.html",
|
|
347
|
+
"rdoc/RubyXL/OleItems.html",
|
|
348
|
+
"rdoc/RubyXL/OleLink.html",
|
|
322
349
|
"rdoc/RubyXL/OutlineProperties.html",
|
|
323
350
|
"rdoc/RubyXL/PageMargins.html",
|
|
324
351
|
"rdoc/RubyXL/PageSetup.html",
|
|
@@ -326,6 +353,7 @@ Gem::Specification.new do |s|
|
|
|
326
353
|
"rdoc/RubyXL/Pane.html",
|
|
327
354
|
"rdoc/RubyXL/Parser.html",
|
|
328
355
|
"rdoc/RubyXL/PatternFill.html",
|
|
356
|
+
"rdoc/RubyXL/PersonMetadata.html",
|
|
329
357
|
"rdoc/RubyXL/PhoneticProperties.html",
|
|
330
358
|
"rdoc/RubyXL/PhoneticRun.html",
|
|
331
359
|
"rdoc/RubyXL/PivotArea.html",
|
|
@@ -343,6 +371,14 @@ Gem::Specification.new do |s|
|
|
|
343
371
|
"rdoc/RubyXL/ProtectedRange.html",
|
|
344
372
|
"rdoc/RubyXL/ProtectedRanges.html",
|
|
345
373
|
"rdoc/RubyXL/Protection.html",
|
|
374
|
+
"rdoc/RubyXL/QueryParameter.html",
|
|
375
|
+
"rdoc/RubyXL/QueryParameters.html",
|
|
376
|
+
"rdoc/RubyXL/QueryTable.html",
|
|
377
|
+
"rdoc/RubyXL/QueryTableDeletedField.html",
|
|
378
|
+
"rdoc/RubyXL/QueryTableDeletedFields.html",
|
|
379
|
+
"rdoc/RubyXL/QueryTableField.html",
|
|
380
|
+
"rdoc/RubyXL/QueryTableFields.html",
|
|
381
|
+
"rdoc/RubyXL/QueryTableRefresh.html",
|
|
346
382
|
"rdoc/RubyXL/RID.html",
|
|
347
383
|
"rdoc/RubyXL/RawOOXML.html",
|
|
348
384
|
"rdoc/RubyXL/Reference.html",
|
|
@@ -366,6 +402,7 @@ Gem::Specification.new do |s|
|
|
|
366
402
|
"rdoc/RubyXL/SheetData.html",
|
|
367
403
|
"rdoc/RubyXL/SheetDataExt.html",
|
|
368
404
|
"rdoc/RubyXL/SheetDataSet.html",
|
|
405
|
+
"rdoc/RubyXL/SheetMetadata.html",
|
|
369
406
|
"rdoc/RubyXL/SheetName.html",
|
|
370
407
|
"rdoc/RubyXL/SheetNames.html",
|
|
371
408
|
"rdoc/RubyXL/Sheets.html",
|
|
@@ -388,6 +425,7 @@ Gem::Specification.new do |s|
|
|
|
388
425
|
"rdoc/RubyXL/TableStyle.html",
|
|
389
426
|
"rdoc/RubyXL/TableStyles.html",
|
|
390
427
|
"rdoc/RubyXL/Text.html",
|
|
428
|
+
"rdoc/RubyXL/TextImportSettings.html",
|
|
391
429
|
"rdoc/RubyXL/Theme.html",
|
|
392
430
|
"rdoc/RubyXL/ThemeElements.html",
|
|
393
431
|
"rdoc/RubyXL/ThumbnailFile.html",
|
|
@@ -402,6 +440,7 @@ Gem::Specification.new do |s|
|
|
|
402
440
|
"rdoc/RubyXL/WebPublishingItem.html",
|
|
403
441
|
"rdoc/RubyXL/WebPublishingItems.html",
|
|
404
442
|
"rdoc/RubyXL/WebPublishingProperties.html",
|
|
443
|
+
"rdoc/RubyXL/WebQueryProperties.html",
|
|
405
444
|
"rdoc/RubyXL/Workbook.html",
|
|
406
445
|
"rdoc/RubyXL/WorkbookConvenienceMethods.html",
|
|
407
446
|
"rdoc/RubyXL/WorkbookProperties.html",
|
|
@@ -454,7 +493,6 @@ Gem::Specification.new do |s|
|
|
|
454
493
|
"rdoc/images/zoom.png",
|
|
455
494
|
"rdoc/index.html",
|
|
456
495
|
"rdoc/js/darkfish.js",
|
|
457
|
-
"rdoc/js/jquery.js",
|
|
458
496
|
"rdoc/js/navigation.js",
|
|
459
497
|
"rdoc/js/navigation.js.gz",
|
|
460
498
|
"rdoc/js/search.js",
|
|
@@ -468,6 +506,7 @@ Gem::Specification.new do |s|
|
|
|
468
506
|
"spec/lib/color_spec.rb",
|
|
469
507
|
"spec/lib/parser_spec.rb",
|
|
470
508
|
"spec/lib/reference_spec.rb",
|
|
509
|
+
"spec/lib/rgb_color_spec.rb",
|
|
471
510
|
"spec/lib/stylesheet_spec.rb",
|
|
472
511
|
"spec/lib/text_spec.rb",
|
|
473
512
|
"spec/lib/workbook_spec.rb",
|
|
@@ -478,42 +517,37 @@ Gem::Specification.new do |s|
|
|
|
478
517
|
"test/test_parse_write.rb",
|
|
479
518
|
"tmp/.gitignore"
|
|
480
519
|
]
|
|
481
|
-
s.homepage = "http://github.com/gilt/rubyXL"
|
|
482
|
-
s.licenses = ["MIT"]
|
|
483
|
-
s.rubygems_version = "
|
|
484
|
-
s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents"
|
|
520
|
+
s.homepage = "http://github.com/gilt/rubyXL".freeze
|
|
521
|
+
s.licenses = ["MIT".freeze]
|
|
522
|
+
s.rubygems_version = "3.1.6".freeze
|
|
523
|
+
s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
|
|
485
524
|
|
|
486
525
|
if s.respond_to? :specification_version then
|
|
487
526
|
s.specification_version = 4
|
|
527
|
+
end
|
|
488
528
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
s.add_dependency(%q<rubyzip>, [">= 1.1.6"])
|
|
501
|
-
s.add_dependency(%q<bundler>, [">= 0"])
|
|
502
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
|
503
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
504
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
|
505
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
|
506
|
-
s.add_dependency(%q<ruby-prof>, [">= 0"])
|
|
507
|
-
end
|
|
529
|
+
if s.respond_to? :add_runtime_dependency then
|
|
530
|
+
s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
|
|
531
|
+
s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
|
|
532
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
|
533
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
|
534
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
535
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
|
536
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
537
|
+
s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
|
|
538
|
+
s.add_development_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
|
|
539
|
+
s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
|
|
508
540
|
else
|
|
509
|
-
s.add_dependency(%q<nokogiri
|
|
510
|
-
s.add_dependency(%q<rubyzip
|
|
511
|
-
s.add_dependency(%q<bundler
|
|
512
|
-
s.add_dependency(%q<rake
|
|
513
|
-
s.add_dependency(%q<
|
|
514
|
-
s.add_dependency(%q<rspec
|
|
515
|
-
s.add_dependency(%q<simplecov
|
|
516
|
-
s.add_dependency(%q<ruby-prof
|
|
541
|
+
s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
|
|
542
|
+
s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
|
|
543
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
544
|
+
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
|
545
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
546
|
+
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
547
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
548
|
+
s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
|
|
549
|
+
s.add_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
|
|
550
|
+
s.add_dependency(%q<rubocop>.freeze, [">= 0"])
|
|
517
551
|
end
|
|
518
552
|
end
|
|
519
553
|
|
data/spec/lib/cell_spec.rb
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
require 'bigdecimal'
|
|
3
|
+
require 'rubyXL/convenience_methods/font'
|
|
4
|
+
require 'rubyXL/convenience_methods/cell'
|
|
3
5
|
|
|
4
6
|
describe RubyXL::Cell do
|
|
5
|
-
|
|
6
7
|
before do
|
|
7
8
|
@workbook = RubyXL::Workbook.new
|
|
8
9
|
@worksheet = @workbook.add_worksheet('Test Worksheet')
|
|
9
10
|
@workbook.worksheets << @worksheet
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
11.times do |i|
|
|
12
|
+
11.times do |j|
|
|
12
13
|
@worksheet.add_cell(i, j, "#{i}:#{j}")
|
|
13
14
|
end
|
|
14
15
|
end
|
|
@@ -29,6 +30,66 @@ describe RubyXL::Cell do
|
|
|
29
30
|
cell = @worksheet.add_cell(r, c, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => 'Hello')))
|
|
30
31
|
expect(cell.datatype).to eq(RubyXL::DataType::INLINE_STRING)
|
|
31
32
|
end
|
|
33
|
+
|
|
34
|
+
it 'should properly handle dates' do
|
|
35
|
+
r = 3
|
|
36
|
+
c = 3
|
|
37
|
+
|
|
38
|
+
dt = Date.today
|
|
39
|
+
cell = @worksheet.add_cell(r, c, dt)
|
|
40
|
+
cell.set_number_format('ddd mmm dd, yyyy')
|
|
41
|
+
expect(cell.value).to eq(dt)
|
|
42
|
+
|
|
43
|
+
tm = DateTime.now
|
|
44
|
+
cell = @worksheet.add_cell(r, c, tm)
|
|
45
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
46
|
+
|
|
47
|
+
# 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)
|
|
49
|
+
|
|
50
|
+
tm = Time.now
|
|
51
|
+
cell = @worksheet.add_cell(r, c, tm)
|
|
52
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
53
|
+
|
|
54
|
+
# Due to rounding errors, we allow microsecond precision on Time.
|
|
55
|
+
expect(cell.value - tm.to_datetime).to be_within(1.0/86400e6).of(0)
|
|
56
|
+
|
|
57
|
+
expected_date = '2020-10-15T14:00:00Z'
|
|
58
|
+
expected_datetime = Time.parse(expected_date).utc
|
|
59
|
+
raw_value = '44119.583333333328' # Obtained from parsing a xlsx file with the expected date
|
|
60
|
+
cell = @worksheet.add_cell(r, c, Time.now) # Force a date cell type
|
|
61
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
62
|
+
cell.raw_value = raw_value
|
|
63
|
+
expect(cell.raw_value).to eq(raw_value), 'Wrong raw value'
|
|
64
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
65
|
+
|
|
66
|
+
# We expect exactly the same date
|
|
67
|
+
expect(cell.value.to_time.utc.iso8601).to eq(expected_datetime.iso8601)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
it 'should raise against too long String' do
|
|
71
|
+
ok_data = 'A' * 32767 # The limit is 32767
|
|
72
|
+
|
|
73
|
+
expect {
|
|
74
|
+
@worksheet.add_cell(0,1, ok_data) # 32767 -> OK
|
|
75
|
+
}.not_to raise_error
|
|
76
|
+
expect {
|
|
77
|
+
# 1 longer than the limit, so an exception must be thrown.
|
|
78
|
+
@worksheet.add_cell(0,2, ok_data + 'B')
|
|
79
|
+
}.to raise_error(ArgumentError)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it 'should raise against too long RichText' do
|
|
83
|
+
ok_data = 'A' * 32767 # The limit is 32767
|
|
84
|
+
|
|
85
|
+
expect {
|
|
86
|
+
@worksheet.add_cell(0,1, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => ok_data))) # 32767 -> OK
|
|
87
|
+
}.not_to raise_error
|
|
88
|
+
expect {
|
|
89
|
+
# 1 longer than the limit, so an exception must be thrown.
|
|
90
|
+
@worksheet.add_cell(0,2, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => ok_data + 'B')))
|
|
91
|
+
}.to raise_error(ArgumentError)
|
|
92
|
+
end
|
|
32
93
|
end
|
|
33
94
|
|
|
34
95
|
describe '.change_fill' do
|
|
@@ -145,6 +206,22 @@ describe RubyXL::Cell do
|
|
|
145
206
|
end
|
|
146
207
|
end
|
|
147
208
|
|
|
209
|
+
describe '.change_text_indent' do
|
|
210
|
+
it 'should cause the cell to have the corresponding text indent' do
|
|
211
|
+
expect(@cell.text_indent).to be_nil
|
|
212
|
+
@cell.change_text_indent(2)
|
|
213
|
+
expect(@cell.text_indent).to eq(2)
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
it 'should not cause other cells with the same style to have text indent' do
|
|
217
|
+
another_cell = @worksheet[1][0]
|
|
218
|
+
another_cell.style_index = @cell.style_index
|
|
219
|
+
expect(another_cell.text_indent).to be_nil
|
|
220
|
+
@cell.change_text_indent(2)
|
|
221
|
+
expect(another_cell.text_indent).to be_nil
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
148
225
|
describe '.change_border_color' do
|
|
149
226
|
it 'should cause cell to have a colored top border' do
|
|
150
227
|
expect(@cell.get_border_color(:top)).to be_nil
|
|
@@ -231,7 +308,7 @@ describe RubyXL::Cell do
|
|
|
231
308
|
expect(cell.value).to eq('Hello')
|
|
232
309
|
end
|
|
233
310
|
|
|
234
|
-
it
|
|
311
|
+
it 'should properly handle numeric values' do
|
|
235
312
|
@cell.datatype = nil
|
|
236
313
|
@cell.raw_value = '1'
|
|
237
314
|
expect(@cell.value).to eq(1)
|
|
@@ -322,6 +399,12 @@ describe RubyXL::Cell do
|
|
|
322
399
|
end
|
|
323
400
|
end
|
|
324
401
|
|
|
402
|
+
context 'with RichText' do
|
|
403
|
+
it 'returns the value of the RichText' do
|
|
404
|
+
cell = RubyXL::Cell.new(is: RubyXL::RichText.new(t: RubyXL::Text.new(value: 'test')))
|
|
405
|
+
expect(cell.value).to eq('test')
|
|
406
|
+
end
|
|
407
|
+
end
|
|
325
408
|
end
|
|
326
409
|
|
|
327
410
|
describe '.change_contents' do
|
|
@@ -340,6 +423,15 @@ describe RubyXL::Cell do
|
|
|
340
423
|
expect(@cell.formula).to be_nil
|
|
341
424
|
end
|
|
342
425
|
|
|
426
|
+
it 'should cause cell value to match a time that is passed in' do
|
|
427
|
+
time = Time.parse('January 1, 2011')
|
|
428
|
+
@cell.change_contents(time)
|
|
429
|
+
expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
|
|
430
|
+
expect(@cell.value).to eq(time.to_datetime)
|
|
431
|
+
expect(@cell.datatype).to be_nil
|
|
432
|
+
expect(@cell.formula).to be_nil
|
|
433
|
+
end
|
|
434
|
+
|
|
343
435
|
it 'should case cell value to match a Float that is passed in' do
|
|
344
436
|
number = 1.25
|
|
345
437
|
@cell.change_contents(number)
|
|
@@ -356,8 +448,8 @@ describe RubyXL::Cell do
|
|
|
356
448
|
expect(@cell.formula).to be_nil
|
|
357
449
|
end
|
|
358
450
|
|
|
359
|
-
it 'should
|
|
360
|
-
number = BigDecimal
|
|
451
|
+
it 'should cause cell value to match a BigDecimal that is passed in' do
|
|
452
|
+
number = BigDecimal('1234.5678')
|
|
361
453
|
@cell.change_contents(number)
|
|
362
454
|
expect(@cell.value).to eq(number)
|
|
363
455
|
expect(@cell.datatype).to be_nil
|
|
@@ -444,6 +536,18 @@ describe RubyXL::Cell do
|
|
|
444
536
|
it 'should return nil if no horizontal alignment has been specified for this cell' do
|
|
445
537
|
expect(@cell.horizontal_alignment).to be_nil
|
|
446
538
|
end
|
|
539
|
+
|
|
540
|
+
it 'should not create new XFs when changing alignment to already existing values' do
|
|
541
|
+
@cell.change_horizontal_alignment('left')
|
|
542
|
+
style_xf1 = @cell.style_index
|
|
543
|
+
@cell.change_horizontal_alignment('right')
|
|
544
|
+
expect(@cell.style_index).not_to eq(style_xf1)
|
|
545
|
+
style_xf2 = @cell.style_index
|
|
546
|
+
@cell.change_horizontal_alignment('left')
|
|
547
|
+
expect(@cell.style_index).to eq(style_xf1)
|
|
548
|
+
@cell.change_horizontal_alignment('right')
|
|
549
|
+
expect(@cell.style_index).to eq(style_xf2)
|
|
550
|
+
end
|
|
447
551
|
end
|
|
448
552
|
|
|
449
553
|
describe '.vertical_alignment' do
|
|
@@ -512,4 +616,11 @@ describe RubyXL::Cell do
|
|
|
512
616
|
end
|
|
513
617
|
end
|
|
514
618
|
|
|
619
|
+
describe '.text_rotation' do
|
|
620
|
+
it 'should correctly return the rotation for this cell' do
|
|
621
|
+
expect(@cell.text_rotation).to be_nil
|
|
622
|
+
@cell.change_text_rotation(45)
|
|
623
|
+
expect(@cell.text_rotation).to eq(45)
|
|
624
|
+
end
|
|
625
|
+
end
|
|
515
626
|
end
|
data/spec/lib/color_spec.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
+
require 'rubyXL/convenience_methods/color'
|
|
2
3
|
|
|
3
4
|
describe RubyXL::Color do
|
|
4
5
|
describe '.validate_color' do
|
|
@@ -7,7 +8,7 @@ describe RubyXL::Color do
|
|
|
7
8
|
end
|
|
8
9
|
|
|
9
10
|
it 'should cause an error if an invalid hex color code or one with a # is passed' do
|
|
10
|
-
expect {RubyXL::Color.validate_color('#G')}.to raise_error(RuntimeError)
|
|
11
|
+
expect { RubyXL::Color.validate_color('#G') }.to raise_error(RuntimeError)
|
|
11
12
|
end
|
|
12
13
|
end
|
|
13
14
|
end
|
data/spec/lib/parser_spec.rb
CHANGED
|
@@ -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 =
|
|
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(
|
|
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(
|
|
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,
|
|
20
|
-
ws.add_cell(1, 1,
|
|
21
|
-
ws.add_cell(1, 2,
|
|
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 =
|
|
39
|
-
@workbook.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-#{
|
|
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(
|
|
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[
|
|
73
|
-
expect(@workbook2[
|
|
74
|
-
expect(@workbook2[
|
|
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[
|
|
77
|
-
expect(@workbook2[
|
|
78
|
-
expect(@workbook2[
|
|
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(
|
|
84
|
-
expect(@workbook2.modifier).to eq(
|
|
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
|
data/spec/lib/reference_spec.rb
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe RubyXL::Reference do
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
it 'should correctly return the "Excel Style" description of cells when given a row/column number' do
|
|
4
|
+
describe '.ind2ref' do
|
|
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')
|
|
8
7
|
expect(RubyXL::Reference.ind2ref(99, 0)).to eq('A100')
|
|
9
8
|
expect(RubyXL::Reference.ind2ref(0, 26)).to eq('AA1')
|
|
@@ -14,15 +13,51 @@ describe RubyXL::Reference do
|
|
|
14
13
|
expect(RubyXL::Reference.ind2ref(0, 16383)).to eq('XFD1')
|
|
15
14
|
end
|
|
16
15
|
|
|
17
|
-
it
|
|
16
|
+
it "should correctly convert back and forth between 'Excel Style' and index style cell references" do
|
|
18
17
|
0.upto(16383) do |n|
|
|
19
18
|
expect(RubyXL::Reference.ref2ind(RubyXL::Reference.ind2ref(n, 16383 - n))).to eq([ n, 16383 - n ])
|
|
20
19
|
end
|
|
21
20
|
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe '.valid?' do
|
|
24
|
+
it 'should retun true for valid references' do
|
|
25
|
+
expect(RubyXL::Reference.new('C23').valid?).to be true
|
|
26
|
+
end
|
|
22
27
|
|
|
28
|
+
it 'should retun false for invalid references' do
|
|
29
|
+
expect(RubyXL::Reference.new('C2A').valid?).to be false
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
describe '.ref2ind' do
|
|
23
34
|
it 'should return [-1, -1] if the Excel index is not well-formed' do
|
|
24
35
|
expect(RubyXL::Reference.ref2ind('A1B')).to eq([-1, -1])
|
|
25
36
|
end
|
|
26
37
|
end
|
|
27
38
|
|
|
28
|
-
|
|
39
|
+
describe '.new' do
|
|
40
|
+
it 'should take a string parameter' do
|
|
41
|
+
new_ref = RubyXL::Reference.new('C23')
|
|
42
|
+
expect(new_ref.single_cell?).to be true
|
|
43
|
+
expect(new_ref.to_s).to eq 'C23'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'should take 2 coordinate parameters' do
|
|
47
|
+
new_ref = RubyXL::Reference.new(11, 22)
|
|
48
|
+
expect(new_ref.single_cell?).to be true
|
|
49
|
+
expect(new_ref.to_s).to eq 'W12'
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it 'should take 4 coordinate parameters' do
|
|
53
|
+
new_ref = RubyXL::Reference.new(11, 22, 33, 44)
|
|
54
|
+
expect(new_ref.single_cell?).to be false
|
|
55
|
+
expect(new_ref.to_s).to eq 'AH12:AS23'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it 'should take named parameters' do
|
|
59
|
+
expect(RubyXL::Reference.new(row_from: 44, row_to: 33, col_from: 22, col_to: 11).to_s).to eq('W45:L34')
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'rubyXL/convenience_methods/color'
|
|
3
|
+
|
|
4
|
+
describe RubyXL::RgbColor do
|
|
5
|
+
describe '.to_s' do
|
|
6
|
+
it 'should properly translate RGB color to string' do
|
|
7
|
+
rgb_color = RubyXL::RgbColor.new
|
|
8
|
+
|
|
9
|
+
rgb_color.r = 1
|
|
10
|
+
rgb_color.g = 2
|
|
11
|
+
rgb_color.b = 255
|
|
12
|
+
|
|
13
|
+
expect(rgb_color.to_s).to eq('0102ff')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should properly translate RGB color with alpha value to string' do
|
|
17
|
+
rgb_color = RubyXL::RgbColor.new
|
|
18
|
+
|
|
19
|
+
rgb_color.r = 11
|
|
20
|
+
rgb_color.g = 22
|
|
21
|
+
rgb_color.b = 33
|
|
22
|
+
rgb_color.a = 255
|
|
23
|
+
|
|
24
|
+
expect(rgb_color.to_s).to eq('0b1621ff')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|