rubyXL 3.3.15 → 3.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -3
  3. data/README.rdoc +5 -1
  4. data/Rakefile +6 -16
  5. data/VERSION +1 -1
  6. data/lib/rubyXL/convenience_methods.rb +40 -65
  7. data/lib/rubyXL/objects/ooxml_object.rb +3 -1
  8. data/lib/rubyXL/objects/sheet_data.rb +2 -0
  9. data/lib/rubyXL/objects/text.rb +1 -1
  10. data/lib/rubyXL/worksheet.rb +3 -56
  11. data/rdoc/README_rdoc.html +37 -31
  12. data/rdoc/RubyXL.html +2 -2
  13. data/rdoc/RubyXL/AExtension.html +2 -2
  14. data/rdoc/RubyXL/AExtensionStorageArea.html +2 -2
  15. data/rdoc/RubyXL/AdjustHandleList.html +2 -2
  16. data/rdoc/RubyXL/Alignment.html +2 -2
  17. data/rdoc/RubyXL/AlternateContent.html +2 -2
  18. data/rdoc/RubyXL/Authors.html +2 -2
  19. data/rdoc/RubyXL/AutoFilter.html +2 -2
  20. data/rdoc/RubyXL/AutoFilterColumn.html +2 -2
  21. data/rdoc/RubyXL/BinaryImageFile.html +2 -2
  22. data/rdoc/RubyXL/BodyProperties.html +2 -2
  23. data/rdoc/RubyXL/BooleanNode.html +2 -2
  24. data/rdoc/RubyXL/BooleanValue.html +2 -2
  25. data/rdoc/RubyXL/Border.html +2 -2
  26. data/rdoc/RubyXL/BorderEdge.html +2 -2
  27. data/rdoc/RubyXL/Borders.html +2 -2
  28. data/rdoc/RubyXL/Break.html +2 -2
  29. data/rdoc/RubyXL/BreakList.html +2 -2
  30. data/rdoc/RubyXL/CT_AdjPoint2D.html +2 -2
  31. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +2 -2
  32. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +2 -2
  33. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +2 -2
  34. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +2 -2
  35. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +2 -2
  36. data/rdoc/RubyXL/CT_Backdrop.html +2 -2
  37. data/rdoc/RubyXL/CT_Bevel.html +2 -2
  38. data/rdoc/RubyXL/CT_BiLevelEffect.html +2 -2
  39. data/rdoc/RubyXL/CT_BlendEffect.html +2 -2
  40. data/rdoc/RubyXL/CT_Blip.html +2 -2
  41. data/rdoc/RubyXL/CT_BlipFillProperties.html +2 -2
  42. data/rdoc/RubyXL/CT_BlurEffect.html +2 -2
  43. data/rdoc/RubyXL/CT_Camera.html +2 -2
  44. data/rdoc/RubyXL/CT_Color.html +2 -2
  45. data/rdoc/RubyXL/CT_ColorChangeEffect.html +2 -2
  46. data/rdoc/RubyXL/CT_ColorMapping.html +2 -2
  47. data/rdoc/RubyXL/CT_ColorScheme.html +2 -2
  48. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +2 -2
  49. data/rdoc/RubyXL/CT_ConnectionSite.html +2 -2
  50. data/rdoc/RubyXL/CT_ConnectionSiteList.html +2 -2
  51. data/rdoc/RubyXL/CT_DashStop.html +2 -2
  52. data/rdoc/RubyXL/CT_DashStopList.html +2 -2
  53. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +2 -2
  54. data/rdoc/RubyXL/CT_DuotoneEffect.html +2 -2
  55. data/rdoc/RubyXL/CT_EffectContainer.html +2 -2
  56. data/rdoc/RubyXL/CT_EffectList.html +2 -2
  57. data/rdoc/RubyXL/CT_EffectReference.html +2 -2
  58. data/rdoc/RubyXL/CT_EffectStyleItem.html +2 -2
  59. data/rdoc/RubyXL/CT_EffectStyleList.html +2 -2
  60. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +2 -2
  61. data/rdoc/RubyXL/CT_FillEffect.html +2 -2
  62. data/rdoc/RubyXL/CT_FillOverlayEffect.html +2 -2
  63. data/rdoc/RubyXL/CT_FillStyleList.html +2 -2
  64. data/rdoc/RubyXL/CT_FlatText.html +2 -2
  65. data/rdoc/RubyXL/CT_FontCollection.html +2 -2
  66. data/rdoc/RubyXL/CT_FontReference.html +2 -2
  67. data/rdoc/RubyXL/CT_GeomGuideList.html +2 -2
  68. data/rdoc/RubyXL/CT_GlowEffect.html +2 -2
  69. data/rdoc/RubyXL/CT_GradientFillProperties.html +2 -2
  70. data/rdoc/RubyXL/CT_GradientStop.html +2 -2
  71. data/rdoc/RubyXL/CT_GradientStopList.html +2 -2
  72. data/rdoc/RubyXL/CT_HSLEffect.html +2 -2
  73. data/rdoc/RubyXL/CT_HslColor.html +2 -2
  74. data/rdoc/RubyXL/CT_Hyperlink.html +2 -2
  75. data/rdoc/RubyXL/CT_InnerShadowEffect.html +2 -2
  76. data/rdoc/RubyXL/CT_LightRig.html +2 -2
  77. data/rdoc/RubyXL/CT_LineEndProperties.html +2 -2
  78. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +2 -2
  79. data/rdoc/RubyXL/CT_LineProperties.html +2 -2
  80. data/rdoc/RubyXL/CT_LineStyleList.html +2 -2
  81. data/rdoc/RubyXL/CT_LinearShadeProperties.html +2 -2
  82. data/rdoc/RubyXL/CT_LuminanceEffect.html +2 -2
  83. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +2 -2
  84. data/rdoc/RubyXL/CT_OuterShadowEffect.html +2 -2
  85. data/rdoc/RubyXL/CT_Path2D.html +2 -2
  86. data/rdoc/RubyXL/CT_Path2DArcTo.html +2 -2
  87. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +2 -2
  88. data/rdoc/RubyXL/CT_Path2DList.html +2 -2
  89. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +2 -2
  90. data/rdoc/RubyXL/CT_Path2DTo.html +2 -2
  91. data/rdoc/RubyXL/CT_PathShadeProperties.html +2 -2
  92. data/rdoc/RubyXL/CT_PatternFillProperties.html +2 -2
  93. data/rdoc/RubyXL/CT_Point3D.html +2 -2
  94. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +2 -2
  95. data/rdoc/RubyXL/CT_PresetColor.html +2 -2
  96. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +2 -2
  97. data/rdoc/RubyXL/CT_PresetShadowEffect.html +2 -2
  98. data/rdoc/RubyXL/CT_PresetTextShape.html +2 -2
  99. data/rdoc/RubyXL/CT_ReflectionEffect.html +2 -2
  100. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +2 -2
  101. data/rdoc/RubyXL/CT_RelativeRect.html +2 -2
  102. data/rdoc/RubyXL/CT_SRgbColor.html +2 -2
  103. data/rdoc/RubyXL/CT_ScRgbColor.html +2 -2
  104. data/rdoc/RubyXL/CT_Scene3D.html +2 -2
  105. data/rdoc/RubyXL/CT_SchemeColor.html +2 -2
  106. data/rdoc/RubyXL/CT_Shape3D.html +2 -2
  107. data/rdoc/RubyXL/CT_ShapeStyle.html +2 -2
  108. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +2 -2
  109. data/rdoc/RubyXL/CT_SphereCoords.html +2 -2
  110. data/rdoc/RubyXL/CT_StretchInfoProperties.html +2 -2
  111. data/rdoc/RubyXL/CT_StyleMatrix.html +2 -2
  112. data/rdoc/RubyXL/CT_StyleMatrixReference.html +2 -2
  113. data/rdoc/RubyXL/CT_SupplementalFont.html +2 -2
  114. data/rdoc/RubyXL/CT_SystemColor.html +2 -2
  115. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +2 -2
  116. data/rdoc/RubyXL/CT_TextBlipBullet.html +2 -2
  117. data/rdoc/RubyXL/CT_TextCharBullet.html +2 -2
  118. data/rdoc/RubyXL/CT_TextCharacterProperties.html +2 -2
  119. data/rdoc/RubyXL/CT_TextFont.html +2 -2
  120. data/rdoc/RubyXL/CT_TextListStyle.html +2 -2
  121. data/rdoc/RubyXL/CT_TextNormalAutofit.html +2 -2
  122. data/rdoc/RubyXL/CT_TextParagraphProperties.html +2 -2
  123. data/rdoc/RubyXL/CT_TextSpacing.html +2 -2
  124. data/rdoc/RubyXL/CT_TextTabStop.html +2 -2
  125. data/rdoc/RubyXL/CT_TextTabStopList.html +2 -2
  126. data/rdoc/RubyXL/CT_TileInfoProperties.html +2 -2
  127. data/rdoc/RubyXL/CT_TintEffect.html +2 -2
  128. data/rdoc/RubyXL/CT_Transform2D.html +2 -2
  129. data/rdoc/RubyXL/CT_TransformEffect.html +2 -2
  130. data/rdoc/RubyXL/CT_Vector3D.html +2 -2
  131. data/rdoc/RubyXL/CT_XYAdjustHandle.html +2 -2
  132. data/rdoc/RubyXL/CalculationChain.html +3 -3
  133. data/rdoc/RubyXL/CalculationChainCell.html +2 -2
  134. data/rdoc/RubyXL/CalculationProperties.html +2 -2
  135. data/rdoc/RubyXL/Cell.html +2 -2
  136. data/rdoc/RubyXL/CellConvenienceMethods.html +37 -37
  137. data/rdoc/RubyXL/CellExt.html +2 -2
  138. data/rdoc/RubyXL/CellSmartTag.html +2 -2
  139. data/rdoc/RubyXL/CellSmartTagProperty.html +2 -2
  140. data/rdoc/RubyXL/CellSmartTags.html +2 -2
  141. data/rdoc/RubyXL/CellStyle.html +2 -2
  142. data/rdoc/RubyXL/CellStyleXFs.html +2 -2
  143. data/rdoc/RubyXL/CellStyles.html +3 -3
  144. data/rdoc/RubyXL/CellValue.html +2 -2
  145. data/rdoc/RubyXL/CellWatch.html +2 -2
  146. data/rdoc/RubyXL/CellWatches.html +2 -2
  147. data/rdoc/RubyXL/CellXFs.html +2 -2
  148. data/rdoc/RubyXL/ChartColorsFile.html +2 -2
  149. data/rdoc/RubyXL/ChartFile.html +2 -2
  150. data/rdoc/RubyXL/ChartStyleFile.html +2 -2
  151. data/rdoc/RubyXL/ChartUserShapesFile.html +2 -2
  152. data/rdoc/RubyXL/Chartsheet.html +3 -3
  153. data/rdoc/RubyXL/ChartsheetPageSetup.html +2 -2
  154. data/rdoc/RubyXL/ChartsheetProperties.html +2 -2
  155. data/rdoc/RubyXL/ChartsheetProtection.html +2 -2
  156. data/rdoc/RubyXL/ChartsheetView.html +2 -2
  157. data/rdoc/RubyXL/ChartsheetViews.html +2 -2
  158. data/rdoc/RubyXL/Color.html +4 -4
  159. data/rdoc/RubyXL/ColorFilter.html +2 -2
  160. data/rdoc/RubyXL/ColorScale.html +2 -2
  161. data/rdoc/RubyXL/ColorSet.html +2 -2
  162. data/rdoc/RubyXL/Colors.html +2 -2
  163. data/rdoc/RubyXL/ColumnRange.html +2 -2
  164. data/rdoc/RubyXL/ColumnRanges.html +2 -2
  165. data/rdoc/RubyXL/Comment.html +2 -2
  166. data/rdoc/RubyXL/CommentList.html +2 -2
  167. data/rdoc/RubyXL/CommentsFile.html +3 -3
  168. data/rdoc/RubyXL/ConditionalFormatValue.html +2 -2
  169. data/rdoc/RubyXL/ConditionalFormatting.html +2 -2
  170. data/rdoc/RubyXL/ConditionalFormattingRule.html +2 -2
  171. data/rdoc/RubyXL/ContentTypeDefault.html +2 -2
  172. data/rdoc/RubyXL/ContentTypeOverride.html +2 -2
  173. data/rdoc/RubyXL/ContentTypes.html +3 -3
  174. data/rdoc/RubyXL/ControlPropertiesFile.html +2 -2
  175. data/rdoc/RubyXL/CorePropertiesFile.html +3 -3
  176. data/rdoc/RubyXL/CustomColor.html +2 -2
  177. data/rdoc/RubyXL/CustomColorList.html +2 -2
  178. data/rdoc/RubyXL/CustomFilter.html +2 -2
  179. data/rdoc/RubyXL/CustomFilters.html +2 -2
  180. data/rdoc/RubyXL/CustomGeometry.html +2 -2
  181. data/rdoc/RubyXL/CustomProperties.html +2 -2
  182. data/rdoc/RubyXL/CustomPropertiesFile.html +2 -2
  183. data/rdoc/RubyXL/CustomProperty.html +2 -2
  184. data/rdoc/RubyXL/CustomSheetView.html +2 -2
  185. data/rdoc/RubyXL/CustomSheetViews.html +2 -2
  186. data/rdoc/RubyXL/CustomWorkbookView.html +2 -2
  187. data/rdoc/RubyXL/CustomWorkbookViews.html +2 -2
  188. data/rdoc/RubyXL/CustomXMLFile.html +2 -2
  189. data/rdoc/RubyXL/DXF.html +2 -2
  190. data/rdoc/RubyXL/DXFs.html +2 -2
  191. data/rdoc/RubyXL/DataBar.html +2 -2
  192. data/rdoc/RubyXL/DataConsolidate.html +2 -2
  193. data/rdoc/RubyXL/DataConsolidationReference.html +2 -2
  194. data/rdoc/RubyXL/DataConsolidationReferences.html +2 -2
  195. data/rdoc/RubyXL/DataType.html +2 -2
  196. data/rdoc/RubyXL/DataValidation.html +2 -2
  197. data/rdoc/RubyXL/DataValidations.html +2 -2
  198. data/rdoc/RubyXL/DateGroupItem.html +2 -2
  199. data/rdoc/RubyXL/DefinedName.html +2 -2
  200. data/rdoc/RubyXL/DefinedNameExt.html +2 -2
  201. data/rdoc/RubyXL/DefinedNames.html +2 -2
  202. data/rdoc/RubyXL/DefinedNamesExt.html +2 -2
  203. data/rdoc/RubyXL/DocumentPropertiesFile.html +8 -8
  204. data/rdoc/RubyXL/DrawingFile.html +2 -2
  205. data/rdoc/RubyXL/DynamicFilter.html +2 -2
  206. data/rdoc/RubyXL/EmbeddedControl.html +2 -2
  207. data/rdoc/RubyXL/EmbeddedControls.html +2 -2
  208. data/rdoc/RubyXL/Extension.html +2 -2
  209. data/rdoc/RubyXL/ExtensionStorageArea.html +2 -2
  210. data/rdoc/RubyXL/Extents.html +2 -2
  211. data/rdoc/RubyXL/ExternalBook.html +2 -2
  212. data/rdoc/RubyXL/ExternalLinksFile.html +3 -3
  213. data/rdoc/RubyXL/ExternalReference.html +2 -2
  214. data/rdoc/RubyXL/ExternalReferences.html +2 -2
  215. data/rdoc/RubyXL/ExtraColorSchemeList.html +2 -2
  216. data/rdoc/RubyXL/FieldItem.html +2 -2
  217. data/rdoc/RubyXL/FileRecoveryProperties.html +2 -2
  218. data/rdoc/RubyXL/FileSharing.html +2 -2
  219. data/rdoc/RubyXL/FileVersion.html +2 -2
  220. data/rdoc/RubyXL/Fill.html +2 -2
  221. data/rdoc/RubyXL/Fills.html +3 -3
  222. data/rdoc/RubyXL/FilterContainer.html +2 -2
  223. data/rdoc/RubyXL/FloatNode.html +2 -2
  224. data/rdoc/RubyXL/FloatValue.html +2 -2
  225. data/rdoc/RubyXL/Font.html +5 -5
  226. data/rdoc/RubyXL/FontScheme.html +2 -2
  227. data/rdoc/RubyXL/Fonts.html +2 -2
  228. data/rdoc/RubyXL/Formula.html +2 -2
  229. data/rdoc/RubyXL/FunctionGroup.html +2 -2
  230. data/rdoc/RubyXL/FunctionGroups.html +2 -2
  231. data/rdoc/RubyXL/GenericStorageObject.html +2 -2
  232. data/rdoc/RubyXL/GradientFill.html +2 -2
  233. data/rdoc/RubyXL/HeaderFooterSettings.html +2 -2
  234. data/rdoc/RubyXL/Hyperlink.html +2 -2
  235. data/rdoc/RubyXL/HyperlinkRelFile.html +2 -2
  236. data/rdoc/RubyXL/Hyperlinks.html +2 -2
  237. data/rdoc/RubyXL/IconFilter.html +2 -2
  238. data/rdoc/RubyXL/IconSet.html +2 -2
  239. data/rdoc/RubyXL/IgnoredError.html +2 -2
  240. data/rdoc/RubyXL/IgnoredErrors.html +2 -2
  241. data/rdoc/RubyXL/IndexedColors.html +2 -2
  242. data/rdoc/RubyXL/InputCells.html +2 -2
  243. data/rdoc/RubyXL/IntegerNode.html +2 -2
  244. data/rdoc/RubyXL/IntegerValue.html +2 -2
  245. data/rdoc/RubyXL/LegacyCell.html +2 -2
  246. data/rdoc/RubyXL/LegacyWorksheet.html +5 -162
  247. data/rdoc/RubyXL/MRUColors.html +2 -2
  248. data/rdoc/RubyXL/MacrosFile.html +2 -2
  249. data/rdoc/RubyXL/MergedCell.html +2 -2
  250. data/rdoc/RubyXL/MergedCells.html +2 -2
  251. data/rdoc/RubyXL/NumFmt.html +2 -2
  252. data/rdoc/RubyXL/NumberFormat.html +3 -3
  253. data/rdoc/RubyXL/NumberFormats.html +2 -2
  254. data/rdoc/RubyXL/OLEObject.html +2 -2
  255. data/rdoc/RubyXL/OLEObjectFile.html +2 -2
  256. data/rdoc/RubyXL/OLEObjects.html +2 -2
  257. data/rdoc/RubyXL/OLESize.html +2 -2
  258. data/rdoc/RubyXL/OOXMLContainerObject.html +8 -8
  259. data/rdoc/RubyXL/OOXMLObject.html +3 -3
  260. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +14 -14
  261. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +21 -19
  262. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +7 -7
  263. data/rdoc/RubyXL/OOXMLTopLevelObject.html +11 -11
  264. data/rdoc/RubyXL/Offset.html +2 -2
  265. data/rdoc/RubyXL/OutlineProperties.html +2 -2
  266. data/rdoc/RubyXL/PageMargins.html +2 -2
  267. data/rdoc/RubyXL/PageSetup.html +2 -2
  268. data/rdoc/RubyXL/PageSetupProperties.html +2 -2
  269. data/rdoc/RubyXL/Pane.html +2 -2
  270. data/rdoc/RubyXL/Parser.html +2 -2
  271. data/rdoc/RubyXL/PatternFill.html +2 -2
  272. data/rdoc/RubyXL/PhoneticProperties.html +2 -2
  273. data/rdoc/RubyXL/PhoneticRun.html +2 -2
  274. data/rdoc/RubyXL/PivotArea.html +2 -2
  275. data/rdoc/RubyXL/PivotCache.html +2 -2
  276. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +2 -2
  277. data/rdoc/RubyXL/PivotCacheRecordsFile.html +2 -2
  278. data/rdoc/RubyXL/PivotCaches.html +2 -2
  279. data/rdoc/RubyXL/PivotReference.html +2 -2
  280. data/rdoc/RubyXL/PivotReferences.html +2 -2
  281. data/rdoc/RubyXL/PivotTableFile.html +2 -2
  282. data/rdoc/RubyXL/PivotTableSelection.html +2 -2
  283. data/rdoc/RubyXL/PresetGeometry.html +2 -2
  284. data/rdoc/RubyXL/PrintOptions.html +2 -2
  285. data/rdoc/RubyXL/PrinterSettingsFile.html +2 -2
  286. data/rdoc/RubyXL/ProtectedRange.html +2 -2
  287. data/rdoc/RubyXL/ProtectedRanges.html +2 -2
  288. data/rdoc/RubyXL/Protection.html +2 -2
  289. data/rdoc/RubyXL/RID.html +2 -2
  290. data/rdoc/RubyXL/RawOOXML.html +2 -2
  291. data/rdoc/RubyXL/Reference.html +6 -6
  292. data/rdoc/RubyXL/Relationship.html +2 -2
  293. data/rdoc/RubyXL/RelationshipSupport.html +3 -3
  294. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +2 -2
  295. data/rdoc/RubyXL/RichText.html +2 -2
  296. data/rdoc/RubyXL/RichTextRun.html +2 -2
  297. data/rdoc/RubyXL/Row.html +16 -2
  298. data/rdoc/RubyXL/RowExt.html +2 -2
  299. data/rdoc/RubyXL/RunProperties.html +2 -2
  300. data/rdoc/RubyXL/Scenario.html +2 -2
  301. data/rdoc/RubyXL/Scenarios.html +2 -2
  302. data/rdoc/RubyXL/Selection.html +2 -2
  303. data/rdoc/RubyXL/ShapeGuide.html +2 -2
  304. data/rdoc/RubyXL/ShapeTextRectangle.html +2 -2
  305. data/rdoc/RubyXL/SharedStringsTable.html +3 -3
  306. data/rdoc/RubyXL/Sheet.html +2 -2
  307. data/rdoc/RubyXL/SheetCalculationProperties.html +2 -2
  308. data/rdoc/RubyXL/SheetData.html +4 -4
  309. data/rdoc/RubyXL/SheetDataExt.html +2 -2
  310. data/rdoc/RubyXL/SheetDataSet.html +2 -2
  311. data/rdoc/RubyXL/SheetName.html +2 -2
  312. data/rdoc/RubyXL/SheetNames.html +2 -2
  313. data/rdoc/RubyXL/Sheets.html +2 -2
  314. data/rdoc/RubyXL/SlicerCacheFile.html +2 -2
  315. data/rdoc/RubyXL/SlicerFile.html +2 -2
  316. data/rdoc/RubyXL/SmartTagProperties.html +2 -2
  317. data/rdoc/RubyXL/SmartTagType.html +2 -2
  318. data/rdoc/RubyXL/SmartTagTypes.html +2 -2
  319. data/rdoc/RubyXL/SmartTags.html +2 -2
  320. data/rdoc/RubyXL/SortCondition.html +2 -2
  321. data/rdoc/RubyXL/SortState.html +2 -2
  322. data/rdoc/RubyXL/Sqref.html +3 -3
  323. data/rdoc/RubyXL/Stop.html +2 -2
  324. data/rdoc/RubyXL/StringNode.html +2 -2
  325. data/rdoc/RubyXL/StringNodeW3C.html +2 -2
  326. data/rdoc/RubyXL/StringValue.html +2 -2
  327. data/rdoc/RubyXL/Stylesheet.html +3 -3
  328. data/rdoc/RubyXL/TableFile.html +2 -2
  329. data/rdoc/RubyXL/TableParts.html +2 -2
  330. data/rdoc/RubyXL/TableStyle.html +2 -2
  331. data/rdoc/RubyXL/TableStyles.html +2 -2
  332. data/rdoc/RubyXL/Text.html +3 -3
  333. data/rdoc/RubyXL/Theme.html +5 -5
  334. data/rdoc/RubyXL/ThemeElements.html +2 -2
  335. data/rdoc/RubyXL/ThumbnailFile.html +2 -2
  336. data/rdoc/RubyXL/Top10.html +2 -2
  337. data/rdoc/RubyXL/VMLDrawingFile.html +3 -3
  338. data/rdoc/RubyXL/Variant.html +2 -2
  339. data/rdoc/RubyXL/Vector.html +2 -2
  340. data/rdoc/RubyXL/VectorValue.html +2 -2
  341. data/rdoc/RubyXL/VisualProperties.html +2 -2
  342. data/rdoc/RubyXL/WebPublishObject.html +2 -2
  343. data/rdoc/RubyXL/WebPublishObjects.html +2 -2
  344. data/rdoc/RubyXL/WebPublishingItem.html +2 -2
  345. data/rdoc/RubyXL/WebPublishingItems.html +2 -2
  346. data/rdoc/RubyXL/WebPublishingProperties.html +2 -2
  347. data/rdoc/RubyXL/Workbook.html +5 -5
  348. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +34 -34
  349. data/rdoc/RubyXL/WorkbookProperties.html +2 -2
  350. data/rdoc/RubyXL/WorkbookProtection.html +2 -2
  351. data/rdoc/RubyXL/WorkbookRoot.html +2 -2
  352. data/rdoc/RubyXL/WorkbookView.html +2 -2
  353. data/rdoc/RubyXL/WorkbookViews.html +2 -2
  354. data/rdoc/RubyXL/Worksheet.html +4 -4
  355. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +243 -208
  356. data/rdoc/RubyXL/WorksheetDimensions.html +2 -2
  357. data/rdoc/RubyXL/WorksheetFormatProperties.html +2 -2
  358. data/rdoc/RubyXL/WorksheetProperties.html +2 -2
  359. data/rdoc/RubyXL/WorksheetProtection.html +2 -2
  360. data/rdoc/RubyXL/WorksheetView.html +2 -2
  361. data/rdoc/RubyXL/WorksheetViews.html +2 -2
  362. data/rdoc/RubyXL/XF.html +2 -2
  363. data/rdoc/created.rid +28 -28
  364. data/rdoc/index.html +3 -3
  365. data/rdoc/js/navigation.js.gz +0 -0
  366. data/rdoc/js/search_index.js +1 -1
  367. data/rdoc/js/search_index.js.gz +0 -0
  368. data/rdoc/js/searcher.js +2 -2
  369. data/rdoc/js/searcher.js.gz +0 -0
  370. data/rdoc/table_of_contents.html +185 -195
  371. data/rubyXL.gemspec +13 -8
  372. data/spec/lib/cell_spec.rb +1 -2
  373. data/spec/lib/color_spec.rb +1 -2
  374. data/spec/lib/parser_spec.rb +3 -4
  375. data/spec/lib/reference_spec.rb +1 -2
  376. data/spec/lib/stylesheet_spec.rb +1 -2
  377. data/spec/lib/text_spec.rb +1 -1
  378. data/spec/lib/workbook_spec.rb +1 -2
  379. data/spec/lib/worksheet_spec.rb +1 -8
  380. data/spec/spec_helper.rb +11 -0
  381. metadata +38 -42
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>module RubyXL::WorksheetConvenienceMethods - rubyXL 3.3.15</title>
7
+ <title>module RubyXL::WorksheetConvenienceMethods - rubyXL 3.3.16</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
@@ -69,6 +69,8 @@
69
69
 
70
70
  <li ><a href="#method-i-change_column_border">#change_column_border</a>
71
71
 
72
+ <li ><a href="#method-i-change_column_fill">#change_column_fill</a>
73
+
72
74
  <li ><a href="#method-i-change_column_font">#change_column_font</a>
73
75
 
74
76
  <li ><a href="#method-i-change_column_font_color">#change_column_font_color</a>
@@ -87,6 +89,10 @@
87
89
 
88
90
  <li ><a href="#method-i-change_column_vertical_alignment">#change_column_vertical_alignment</a>
89
91
 
92
+ <li ><a href="#method-i-change_column_width">#change_column_width</a>
93
+
94
+ <li ><a href="#method-i-change_column_width_raw">#change_column_width_raw</a>
95
+
90
96
  <li ><a href="#method-i-change_row_alignment">#change_row_alignment</a>
91
97
 
92
98
  <li ><a href="#method-i-change_row_bold">#change_row_bold</a>
@@ -123,8 +129,6 @@
123
129
 
124
130
  <li ><a href="#method-i-delete_row">#delete_row</a>
125
131
 
126
- <li ><a href="#method-i-extract_data">#extract_data</a>
127
-
128
132
  <li ><a href="#method-i-get_col_style">#get_col_style</a>
129
133
 
130
134
  <li ><a href="#method-i-get_cols_style_index">#get_cols_style_index</a>
@@ -165,8 +169,6 @@
165
169
 
166
170
  <li ><a href="#method-i-get_row_vertical_alignment">#get_row_vertical_alignment</a>
167
171
 
168
- <li ><a href="#method-i-get_table">#get_table</a>
169
-
170
172
  <li ><a href="#method-i-insert_cell">#insert_cell</a>
171
173
 
172
174
  <li ><a href="#method-i-insert_column">#insert_column</a>
@@ -189,6 +191,8 @@
189
191
 
190
192
  <li ><a href="#method-i-is_row_underlined">#is_row_underlined</a>
191
193
 
194
+ <li ><a href="#method-i-merge_cells">#merge_cells</a>
195
+
192
196
  <li ><a href="#method-i-row_font">#row_font</a>
193
197
 
194
198
  </ul>
@@ -288,7 +292,7 @@
288
292
 
289
293
 
290
294
  <div class="method-source-code" id="change_column_alignment-source">
291
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 713</span>
295
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 742</span>
292
296
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
293
297
  <span class="ruby-identifier">validate_workbook</span>
294
298
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>)
@@ -332,7 +336,7 @@
332
336
 
333
337
 
334
338
  <div class="method-source-code" id="change_column_bold-source">
335
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 659</span>
339
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 688</span>
336
340
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_bold</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">bolded</span> = <span class="ruby-keyword">false</span>)
337
341
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
338
342
  <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span>
@@ -368,7 +372,7 @@
368
372
 
369
373
 
370
374
  <div class="method-source-code" id="change_column_border-source">
371
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 688</span>
375
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 717</span>
372
376
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_border</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">weight</span>)
373
377
  <span class="ruby-identifier">validate_workbook</span>
374
378
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>)
@@ -387,6 +391,48 @@
387
391
 
388
392
 
389
393
 
394
+ </div>
395
+
396
+
397
+ <div id="method-i-change_column_fill" class="method-detail ">
398
+
399
+ <div class="method-heading">
400
+ <span class="method-name">change_column_fill</span><span
401
+ class="method-args">(column_index, color_code = 'ffffff')</span>
402
+
403
+ <span class="method-click-advice">click to toggle source</span>
404
+
405
+ </div>
406
+
407
+
408
+ <div class="method-description">
409
+
410
+
411
+
412
+
413
+
414
+
415
+ <div class="method-source-code" id="change_column_fill-source">
416
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 505</span>
417
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_fill</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">color_code</span> = <span class="ruby-string">&#39;ffffff&#39;</span>)
418
+ <span class="ruby-identifier">validate_workbook</span>
419
+ <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">color_code</span>)
420
+ <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>)
421
+
422
+ <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">column_index</span>).<span class="ruby-identifier">style_index</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">modify_fill</span>(<span class="ruby-identifier">get_col_style</span>(<span class="ruby-identifier">column_index</span>), <span class="ruby-identifier">color_code</span>)
423
+
424
+ <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span>
425
+ <span class="ruby-identifier">c</span> = <span class="ruby-identifier">row</span>[<span class="ruby-identifier">column_index</span>]
426
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">change_fill</span>(<span class="ruby-identifier">color_code</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">c</span>
427
+ }
428
+ <span class="ruby-keyword">end</span></pre>
429
+ </div>
430
+
431
+ </div>
432
+
433
+
434
+
435
+
390
436
  </div>
391
437
 
392
438
 
@@ -410,7 +456,7 @@ change font, called from each separate font mutator method</p>
410
456
 
411
457
 
412
458
  <div class="method-source-code" id="change_column_font-source">
413
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 616</span>
459
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 645</span>
414
460
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">change_type</span>, <span class="ruby-identifier">arg</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>)
415
461
  <span class="ruby-identifier">validate_workbook</span>
416
462
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>)
@@ -452,8 +498,8 @@ change font, called from each separate font mutator method</p>
452
498
 
453
499
 
454
500
  <div class="method-source-code" id="change_column_font_color-source">
455
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 643</span>
456
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_color</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">font_color</span>=<span class="ruby-string">'000000'</span>)
501
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 672</span>
502
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_color</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">font_color</span>=<span class="ruby-string">&#39;000000&#39;</span>)
457
503
  <span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">font_color</span>)
458
504
 
459
505
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
@@ -490,8 +536,8 @@ change font, called from each separate font mutator method</p>
490
536
 
491
537
 
492
538
  <div class="method-source-code" id="change_column_font_name-source">
493
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 629</span>
494
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_name</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_name</span> = <span class="ruby-string">'Verdana'</span>)
539
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 658</span>
540
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_name</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_name</span> = <span class="ruby-string">&#39;Verdana&#39;</span>)
495
541
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
496
542
  <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span>
497
543
  <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_name</span>(<span class="ruby-identifier">font_name</span>)
@@ -526,7 +572,7 @@ change font, called from each separate font mutator method</p>
526
572
 
527
573
 
528
574
  <div class="method-source-code" id="change_column_font_size-source">
529
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 636</span>
575
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 665</span>
530
576
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_size</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">font_size</span>=<span class="ruby-value">10</span>)
531
577
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
532
578
  <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span>
@@ -562,8 +608,8 @@ change font, called from each separate font mutator method</p>
562
608
 
563
609
 
564
610
  <div class="method-source-code" id="change_column_horizontal_alignment-source">
565
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 680</span>
566
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_horizontal_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>)
611
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 709</span>
612
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_horizontal_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">&#39;center&#39;</span>)
567
613
  <span class="ruby-identifier">change_column_alignment</span>(<span class="ruby-identifier">column_index</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">horizontal</span> = <span class="ruby-identifier">alignment</span> }
568
614
  <span class="ruby-keyword">end</span></pre>
569
615
  </div>
@@ -595,7 +641,7 @@ change font, called from each separate font mutator method</p>
595
641
 
596
642
 
597
643
  <div class="method-source-code" id="change_column_italics-source">
598
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 652</span>
644
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 681</span>
599
645
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_italics</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">italicized</span> = <span class="ruby-keyword">false</span>)
600
646
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
601
647
  <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span>
@@ -631,7 +677,7 @@ change font, called from each separate font mutator method</p>
631
677
 
632
678
 
633
679
  <div class="method-source-code" id="change_column_strikethrough-source">
634
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 673</span>
680
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 702</span>
635
681
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_strikethrough</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">struckthrough</span>=<span class="ruby-keyword">false</span>)
636
682
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
637
683
  <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span>
@@ -667,7 +713,7 @@ change font, called from each separate font mutator method</p>
667
713
 
668
714
 
669
715
  <div class="method-source-code" id="change_column_underline-source">
670
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 666</span>
716
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 695</span>
671
717
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_underline</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">underlined</span> = <span class="ruby-keyword">false</span>)
672
718
  <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>)
673
719
  <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span>
@@ -703,8 +749,8 @@ change font, called from each separate font mutator method</p>
703
749
 
704
750
 
705
751
  <div class="method-source-code" id="change_column_vertical_alignment-source">
706
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 684</span>
707
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_vertical_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>)
752
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 713</span>
753
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_vertical_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">&#39;center&#39;</span>)
708
754
  <span class="ruby-identifier">change_column_alignment</span>(<span class="ruby-identifier">column_index</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">vertical</span> = <span class="ruby-identifier">alignment</span> }
709
755
  <span class="ruby-keyword">end</span></pre>
710
756
  </div>
@@ -714,6 +760,77 @@ change font, called from each separate font mutator method</p>
714
760
 
715
761
 
716
762
 
763
+ </div>
764
+
765
+
766
+ <div id="method-i-change_column_width" class="method-detail ">
767
+
768
+ <div class="method-heading">
769
+ <span class="method-name">change_column_width</span><span
770
+ class="method-args">(column_index, width_in_chars = RubyXL::ColumnRange::DEFAULT_WIDTH)</span>
771
+
772
+ <span class="method-click-advice">click to toggle source</span>
773
+
774
+ </div>
775
+
776
+
777
+ <div class="method-description">
778
+
779
+ <p>Get column width measured in number of digits, as per <a
780
+ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.column%28v=office.14%29.aspx">msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.column%28v=office.14%29.aspx</a></p>
781
+
782
+
783
+
784
+
785
+ <div class="method-source-code" id="change_column_width-source">
786
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 488</span>
787
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_width</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">width_in_chars</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">ColumnRange</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_WIDTH</span>)
788
+ <span class="ruby-identifier">change_column_width_raw</span>(<span class="ruby-identifier">column_index</span>, ((<span class="ruby-identifier">width_in_chars</span> <span class="ruby-operator">+</span> (<span class="ruby-value">5.0</span> <span class="ruby-operator">/</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Font</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_DIGIT_WIDTH</span>)) <span class="ruby-operator">*</span> <span class="ruby-value">256</span>).<span class="ruby-identifier">to_i</span> <span class="ruby-operator">/</span> <span class="ruby-value">256.0</span>)
789
+ <span class="ruby-keyword">end</span></pre>
790
+ </div>
791
+
792
+ </div>
793
+
794
+
795
+
796
+
797
+ </div>
798
+
799
+
800
+ <div id="method-i-change_column_width_raw" class="method-detail ">
801
+
802
+ <div class="method-heading">
803
+ <span class="method-name">change_column_width_raw</span><span
804
+ class="method-args">(column_index, width)</span>
805
+
806
+ <span class="method-click-advice">click to toggle source</span>
807
+
808
+ </div>
809
+
810
+
811
+ <div class="method-description">
812
+
813
+ <p>Set raw column width value</p>
814
+
815
+
816
+
817
+
818
+ <div class="method-source-code" id="change_column_width_raw-source">
819
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 478</span>
820
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_width_raw</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">width</span>)
821
+ <span class="ruby-identifier">validate_workbook</span>
822
+ <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>)
823
+ <span class="ruby-identifier">range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">column_index</span>)
824
+ <span class="ruby-identifier">range</span>.<span class="ruby-identifier">width</span> = <span class="ruby-identifier">width</span>
825
+ <span class="ruby-identifier">range</span>.<span class="ruby-identifier">custom_width</span> = <span class="ruby-keyword">true</span>
826
+ <span class="ruby-keyword">end</span></pre>
827
+ </div>
828
+
829
+ </div>
830
+
831
+
832
+
833
+
717
834
  </div>
718
835
 
719
836
 
@@ -736,7 +853,7 @@ change font, called from each separate font mutator method</p>
736
853
 
737
854
 
738
855
  <div class="method-source-code" id="change_row_alignment-source">
739
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 700</span>
856
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 729</span>
740
857
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
741
858
  <span class="ruby-identifier">validate_workbook</span>
742
859
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>)
@@ -778,7 +895,7 @@ change font, called from each separate font mutator method</p>
778
895
 
779
896
 
780
897
  <div class="method-source-code" id="change_row_bold-source">
781
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 584</span>
898
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 613</span>
782
899
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_bold</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">bolded</span> = <span class="ruby-keyword">false</span>)
783
900
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
784
901
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
@@ -814,7 +931,7 @@ change font, called from each separate font mutator method</p>
814
931
 
815
932
 
816
933
  <div class="method-source-code" id="change_row_border-source">
817
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 522</span>
934
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 551</span>
818
935
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_border</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">weight</span>)
819
936
  <span class="ruby-identifier">validate_workbook</span>
820
937
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
@@ -854,8 +971,8 @@ change font, called from each separate font mutator method</p>
854
971
 
855
972
 
856
973
  <div class="method-source-code" id="change_row_fill-source">
857
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 533</span>
858
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_fill</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">rgb</span> = <span class="ruby-string">'ffffff'</span>)
974
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 562</span>
975
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_fill</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">rgb</span> = <span class="ruby-string">&#39;ffffff&#39;</span>)
859
976
  <span class="ruby-identifier">validate_workbook</span>
860
977
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row_index</span>)
861
978
  <span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">rgb</span>)
@@ -896,7 +1013,7 @@ change font, called from each separate font mutator method</p>
896
1013
 
897
1014
 
898
1015
  <div class="method-source-code" id="change_row_font-source">
899
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 545</span>
1016
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 574</span>
900
1017
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row_index</span>, <span class="ruby-identifier">change_type</span>, <span class="ruby-identifier">arg</span>, <span class="ruby-identifier">font</span>)
901
1018
  <span class="ruby-identifier">validate_workbook</span>
902
1019
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row_index</span>)
@@ -935,8 +1052,8 @@ change font, called from each separate font mutator method</p>
935
1052
 
936
1053
 
937
1054
  <div class="method-source-code" id="change_row_font_color-source">
938
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 569</span>
939
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_color</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_color</span> = <span class="ruby-string">'000000'</span>)
1055
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 598</span>
1056
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_color</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_color</span> = <span class="ruby-string">&#39;000000&#39;</span>)
940
1057
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
941
1058
  <span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">font_color</span>)
942
1059
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
@@ -972,8 +1089,8 @@ change font, called from each separate font mutator method</p>
972
1089
 
973
1090
 
974
1091
  <div class="method-source-code" id="change_row_font_name-source">
975
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 555</span>
976
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_name</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_name</span> = <span class="ruby-string">'Verdana'</span>)
1092
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 584</span>
1093
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_name</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_name</span> = <span class="ruby-string">&#39;Verdana&#39;</span>)
977
1094
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
978
1095
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
979
1096
  <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_name</span>(<span class="ruby-identifier">font_name</span>)
@@ -1008,7 +1125,7 @@ change font, called from each separate font mutator method</p>
1008
1125
 
1009
1126
 
1010
1127
  <div class="method-source-code" id="change_row_font_size-source">
1011
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 562</span>
1128
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 591</span>
1012
1129
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_size</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_size</span>=<span class="ruby-value">10</span>)
1013
1130
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
1014
1131
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
@@ -1044,7 +1161,7 @@ change font, called from each separate font mutator method</p>
1044
1161
 
1045
1162
 
1046
1163
  <div class="method-source-code" id="change_row_height-source">
1047
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 605</span>
1164
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 634</span>
1048
1165
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_height</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">height</span> = <span class="ruby-value">10</span>)
1049
1166
  <span class="ruby-identifier">validate_workbook</span>
1050
1167
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
@@ -1082,8 +1199,8 @@ change font, called from each separate font mutator method</p>
1082
1199
 
1083
1200
 
1084
1201
  <div class="method-source-code" id="change_row_horizontal_alignment-source">
1085
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 510</span>
1086
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_horizontal_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>)
1202
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 539</span>
1203
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_horizontal_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">&#39;center&#39;</span>)
1087
1204
  <span class="ruby-identifier">validate_workbook</span>
1088
1205
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>)
1089
1206
  <span class="ruby-identifier">change_row_alignment</span>(<span class="ruby-identifier">row</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">horizontal</span> = <span class="ruby-identifier">alignment</span> }
@@ -1117,7 +1234,7 @@ change font, called from each separate font mutator method</p>
1117
1234
 
1118
1235
 
1119
1236
  <div class="method-source-code" id="change_row_italics-source">
1120
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 577</span>
1237
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 606</span>
1121
1238
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_italics</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">italicized</span> = <span class="ruby-keyword">false</span>)
1122
1239
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
1123
1240
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
@@ -1153,7 +1270,7 @@ change font, called from each separate font mutator method</p>
1153
1270
 
1154
1271
 
1155
1272
  <div class="method-source-code" id="change_row_strikethrough-source">
1156
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 598</span>
1273
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 627</span>
1157
1274
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_strikethrough</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">struckthrough</span>=<span class="ruby-keyword">false</span>)
1158
1275
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
1159
1276
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
@@ -1189,7 +1306,7 @@ change font, called from each separate font mutator method</p>
1189
1306
 
1190
1307
 
1191
1308
  <div class="method-source-code" id="change_row_underline-source">
1192
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 591</span>
1309
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 620</span>
1193
1310
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_underline</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">underlined</span>=<span class="ruby-keyword">false</span>)
1194
1311
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>)
1195
1312
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span>
@@ -1225,8 +1342,8 @@ change font, called from each separate font mutator method</p>
1225
1342
 
1226
1343
 
1227
1344
  <div class="method-source-code" id="change_row_vertical_alignment-source">
1228
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 516</span>
1229
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_vertical_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>)
1345
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 545</span>
1346
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_vertical_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">&#39;center&#39;</span>)
1230
1347
  <span class="ruby-identifier">validate_workbook</span>
1231
1348
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>)
1232
1349
  <span class="ruby-identifier">change_row_alignment</span>(<span class="ruby-identifier">row</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">vertical</span> = <span class="ruby-identifier">alignment</span> }
@@ -1260,7 +1377,7 @@ change font, called from each separate font mutator method</p>
1260
1377
 
1261
1378
 
1262
1379
  <div class="method-source-code" id="column_font-source">
1263
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 497</span>
1380
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 526</span>
1264
1381
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
1265
1382
  <span class="ruby-identifier">validate_workbook</span>
1266
1383
 
@@ -1297,7 +1414,7 @@ specified, method will shift column contents below the deleted cell upward</p>
1297
1414
 
1298
1415
 
1299
1416
  <div class="method-source-code" id="delete_cell-source">
1300
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 217</span>
1417
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 218</span>
1301
1418
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_cell</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>=<span class="ruby-value">0</span>, <span class="ruby-identifier">shift</span>=<span class="ruby-keyword">nil</span>)
1302
1419
  <span class="ruby-identifier">validate_workbook</span>
1303
1420
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row_index</span>)
@@ -1317,7 +1434,7 @@ specified, method will shift column contents below the deleted cell upward</p>
1317
1434
  <span class="ruby-identifier">c</span>.<span class="ruby-identifier">row</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Cell</span>)
1318
1435
  }
1319
1436
  <span class="ruby-keyword">else</span>
1320
- <span class="ruby-identifier">raise</span> <span class="ruby-string">'invalid shift option'</span>
1437
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;invalid shift option&#39;</span>
1321
1438
  <span class="ruby-keyword">end</span>
1322
1439
 
1323
1440
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">old_cell</span>
@@ -1351,18 +1468,18 @@ specified, method will shift column contents below the deleted cell upward</p>
1351
1468
 
1352
1469
 
1353
1470
  <div class="method-source-code" id="delete_column-source">
1354
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 323</span>
1471
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 324</span>
1355
1472
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_column</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>)
1356
1473
  <span class="ruby-identifier">validate_workbook</span>
1357
1474
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>)
1358
1475
 
1359
- <span class="ruby-comment">#delete column</span>
1476
+ <span class="ruby-comment"># Delete column</span>
1360
1477
  <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">column_index</span>) }
1361
1478
 
1362
- <span class="ruby-comment"># Change column numbers for cells to the right of the deleted column</span>
1479
+ <span class="ruby-comment"># Update column numbers for cells to the right of the deleted column</span>
1363
1480
  <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span>, <span class="ruby-identifier">row_index</span><span class="ruby-operator">|</span>
1364
- <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span>, <span class="ruby-identifier">column_index</span><span class="ruby-operator">|</span>
1365
- <span class="ruby-identifier">c</span>.<span class="ruby-identifier">column</span> = <span class="ruby-identifier">column_index</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Cell</span>)
1481
+ <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span>, <span class="ruby-identifier">ci</span><span class="ruby-operator">|</span>
1482
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">column</span> = <span class="ruby-identifier">ci</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Cell</span>)
1366
1483
  }
1367
1484
  }
1368
1485
 
@@ -1397,7 +1514,7 @@ specified, method will shift column contents below the deleted cell upward</p>
1397
1514
 
1398
1515
 
1399
1516
  <div class="method-source-code" id="delete_row-source">
1400
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 279</span>
1517
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 280</span>
1401
1518
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_row</span>(<span class="ruby-identifier">row_index</span>=<span class="ruby-value">0</span>)
1402
1519
  <span class="ruby-identifier">validate_workbook</span>
1403
1520
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row_index</span>)
@@ -1419,43 +1536,6 @@ specified, method will shift column contents below the deleted cell upward</p>
1419
1536
 
1420
1537
 
1421
1538
 
1422
- </div>
1423
-
1424
-
1425
- <div id="method-i-extract_data" class="method-detail ">
1426
-
1427
- <div class="method-heading">
1428
- <span class="method-name">extract_data</span><span
1429
- class="method-args">(args = {})</span>
1430
-
1431
- <span class="method-click-advice">click to toggle source</span>
1432
-
1433
- </div>
1434
-
1435
-
1436
- <div class="method-description">
1437
-
1438
- <p>Returns 2D array of just the cell values (without style or formula
1439
- information)</p>
1440
-
1441
-
1442
-
1443
-
1444
- <div class="method-source-code" id="extract_data-source">
1445
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 729</span>
1446
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">extract_data</span>(<span class="ruby-identifier">args</span> = {})
1447
- <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please access data directly by iterating through .sheet_data.rows&quot;</span>
1448
- <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span>
1449
- <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">value</span>(<span class="ruby-identifier">args</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">nil?</span>
1450
- }
1451
- <span class="ruby-keyword">end</span></pre>
1452
- </div>
1453
-
1454
- </div>
1455
-
1456
-
1457
-
1458
-
1459
1539
  </div>
1460
1540
 
1461
1541
 
@@ -1478,7 +1558,7 @@ information)</p>
1478
1558
 
1479
1559
 
1480
1560
  <div class="method-source-code" id="get_col_style-source">
1481
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 477</span>
1561
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 493</span>
1482
1562
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_col_style</span>(<span class="ruby-identifier">column_index</span>)
1483
1563
  <span class="ruby-identifier">range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">column_index</span>)
1484
1564
  (<span class="ruby-identifier">range</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">style_index</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
@@ -1512,7 +1592,7 @@ information)</p>
1512
1592
 
1513
1593
 
1514
1594
  <div class="method-source-code" id="get_cols_style_index-source">
1515
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 418</span>
1595
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 419</span>
1516
1596
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_cols_style_index</span>(<span class="ruby-identifier">column_index</span>)
1517
1597
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>)
1518
1598
  <span class="ruby-identifier">range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">column_index</span>)
@@ -1547,7 +1627,7 @@ information)</p>
1547
1627
 
1548
1628
 
1549
1629
  <div class="method-source-code" id="get_column_alignment-source">
1550
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 503</span>
1630
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 532</span>
1551
1631
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_alignment</span>(<span class="ruby-identifier">col</span>, <span class="ruby-identifier">type</span>)
1552
1632
  <span class="ruby-identifier">validate_workbook</span>
1553
1633
 
@@ -1583,7 +1663,7 @@ information)</p>
1583
1663
 
1584
1664
 
1585
1665
  <div class="method-source-code" id="get_column_border-source">
1586
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 489</span>
1666
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 518</span>
1587
1667
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_border</span>(<span class="ruby-identifier">col</span>, <span class="ruby-identifier">border_direction</span>)
1588
1668
  <span class="ruby-identifier">validate_workbook</span>
1589
1669
 
@@ -1620,7 +1700,7 @@ information)</p>
1620
1700
 
1621
1701
 
1622
1702
  <div class="method-source-code" id="get_column_fill-source">
1623
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 482</span>
1703
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 498</span>
1624
1704
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_fill</span>(<span class="ruby-identifier">col</span>=<span class="ruby-value">0</span>)
1625
1705
  <span class="ruby-identifier">validate_workbook</span>
1626
1706
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">col</span>)
@@ -1656,10 +1736,10 @@ information)</p>
1656
1736
 
1657
1737
 
1658
1738
  <div class="method-source-code" id="get_column_font_color-source">
1659
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 434</span>
1739
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 435</span>
1660
1740
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_font_color</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
1661
1741
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
1662
- <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_rgb_color</span> <span class="ruby-operator">||</span> <span class="ruby-string">'000000'</span>)
1742
+ <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_rgb_color</span> <span class="ruby-operator">||</span> <span class="ruby-string">&#39;000000&#39;</span>)
1663
1743
  <span class="ruby-keyword">end</span></pre>
1664
1744
  </div>
1665
1745
 
@@ -1690,7 +1770,7 @@ information)</p>
1690
1770
 
1691
1771
 
1692
1772
  <div class="method-source-code" id="get_column_font_name-source">
1693
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 424</span>
1773
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 425</span>
1694
1774
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_font_name</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
1695
1775
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
1696
1776
  <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_name</span>
@@ -1724,7 +1804,7 @@ information)</p>
1724
1804
 
1725
1805
 
1726
1806
  <div class="method-source-code" id="get_column_font_size-source">
1727
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 429</span>
1807
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 430</span>
1728
1808
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_font_size</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
1729
1809
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
1730
1810
  <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_size</span>
@@ -1759,7 +1839,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1759
1839
 
1760
1840
 
1761
1841
  <div class="method-source-code" id="get_column_width-source">
1762
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 470</span>
1842
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 471</span>
1763
1843
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_width</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>)
1764
1844
  <span class="ruby-identifier">width</span> = <span class="ruby-identifier">get_column_width_raw</span>(<span class="ruby-identifier">column_index</span>)
1765
1845
  <span class="ruby-keyword">return</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">ColumnRange</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_WIDTH</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">width</span>.<span class="ruby-identifier">nil?</span>
@@ -1794,7 +1874,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1794
1874
 
1795
1875
 
1796
1876
  <div class="method-source-code" id="get_column_width_raw-source">
1797
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 460</span>
1877
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 461</span>
1798
1878
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_width_raw</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>)
1799
1879
  <span class="ruby-identifier">validate_workbook</span>
1800
1880
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>)
@@ -1831,7 +1911,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1831
1911
 
1832
1912
 
1833
1913
  <div class="method-source-code" id="get_row_alignment-source">
1834
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 397</span>
1914
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 398</span>
1835
1915
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">is_horizontal</span>)
1836
1916
  <span class="ruby-identifier">validate_workbook</span>
1837
1917
 
@@ -1871,7 +1951,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1871
1951
 
1872
1952
 
1873
1953
  <div class="method-source-code" id="get_row_border-source">
1874
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 386</span>
1954
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 387</span>
1875
1955
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_border</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">border_direction</span>)
1876
1956
  <span class="ruby-identifier">validate_workbook</span>
1877
1957
 
@@ -1907,7 +1987,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1907
1987
 
1908
1988
 
1909
1989
  <div class="method-source-code" id="get_row_fill-source">
1910
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 345</span>
1990
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 346</span>
1911
1991
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_fill</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
1912
1992
  (<span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">get_fill_color</span>
1913
1993
  <span class="ruby-keyword">end</span></pre>
@@ -1940,11 +2020,11 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1940
2020
 
1941
2021
 
1942
2022
  <div class="method-source-code" id="get_row_font_color-source">
1943
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 357</span>
2023
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 358</span>
1944
2024
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_font_color</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
1945
2025
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)
1946
2026
  <span class="ruby-identifier">color</span> = <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">color</span>
1947
- <span class="ruby-identifier">color</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">color</span>.<span class="ruby-identifier">rgb</span> <span class="ruby-operator">||</span> <span class="ruby-string">'000000'</span>)
2027
+ <span class="ruby-identifier">color</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">color</span>.<span class="ruby-identifier">rgb</span> <span class="ruby-operator">||</span> <span class="ruby-string">&#39;000000&#39;</span>)
1948
2028
  <span class="ruby-keyword">end</span></pre>
1949
2029
  </div>
1950
2030
 
@@ -1975,7 +2055,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
1975
2055
 
1976
2056
 
1977
2057
  <div class="method-source-code" id="get_row_font_name-source">
1978
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 349</span>
2058
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 350</span>
1979
2059
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_font_name</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
1980
2060
  (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_name</span>
1981
2061
  <span class="ruby-keyword">end</span></pre>
@@ -2008,7 +2088,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2008
2088
 
2009
2089
 
2010
2090
  <div class="method-source-code" id="get_row_font_size-source">
2011
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 353</span>
2091
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 354</span>
2012
2092
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_font_size</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2013
2093
  (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_size</span>
2014
2094
  <span class="ruby-keyword">end</span></pre>
@@ -2041,12 +2121,12 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2041
2121
 
2042
2122
 
2043
2123
  <div class="method-source-code" id="get_row_height-source">
2044
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 379</span>
2124
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 380</span>
2045
2125
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_height</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2046
2126
  <span class="ruby-identifier">validate_workbook</span>
2047
2127
  <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>)
2048
2128
  <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>]
2049
- <span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">ht</span> <span class="ruby-operator">||</span> <span class="ruby-value">13</span>
2129
+ <span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">ht</span> <span class="ruby-operator">||</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Row</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_HEIGHT</span>
2050
2130
  <span class="ruby-keyword">end</span></pre>
2051
2131
  </div>
2052
2132
 
@@ -2077,7 +2157,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2077
2157
 
2078
2158
 
2079
2159
  <div class="method-source-code" id="get_row_horizontal_alignment-source">
2080
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 408</span>
2160
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 409</span>
2081
2161
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_horizontal_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2082
2162
  <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_alignment` instead.&quot;</span>
2083
2163
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-keyword">true</span>)
@@ -2111,7 +2191,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2111
2191
 
2112
2192
 
2113
2193
  <div class="method-source-code" id="get_row_style-source">
2114
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 340</span>
2194
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 341</span>
2115
2195
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_style</span>(<span class="ruby-identifier">row_index</span>)
2116
2196
  <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row_index</span>]
2117
2197
  (<span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">style_index</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
@@ -2145,7 +2225,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2145
2225
 
2146
2226
 
2147
2227
  <div class="method-source-code" id="get_row_vertical_alignment-source">
2148
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 413</span>
2228
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 414</span>
2149
2229
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_vertical_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2150
2230
  <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_alignment` instead.&quot;</span>
2151
2231
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-keyword">false</span>)
@@ -2157,88 +2237,6 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2157
2237
 
2158
2238
 
2159
2239
 
2160
- </div>
2161
-
2162
-
2163
- <div id="method-i-get_table" class="method-detail ">
2164
-
2165
- <div class="method-heading">
2166
- <span class="method-name">get_table</span><span
2167
- class="method-args">(headers = [], opts = {})</span>
2168
-
2169
- <span class="method-click-advice">click to toggle source</span>
2170
-
2171
- </div>
2172
-
2173
-
2174
- <div class="method-description">
2175
-
2176
-
2177
-
2178
-
2179
-
2180
-
2181
- <div class="method-source-code" id="get_table-source">
2182
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 736</span>
2183
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_table</span>(<span class="ruby-identifier">headers</span> = [], <span class="ruby-identifier">opts</span> = {})
2184
- <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please access data directly by iterating through .sheet_data.rows&quot;</span>
2185
- <span class="ruby-identifier">validate_workbook</span>
2186
-
2187
- <span class="ruby-identifier">headers</span> = [<span class="ruby-identifier">headers</span>] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
2188
- <span class="ruby-identifier">row_num</span> = <span class="ruby-identifier">find_first_row_with_content</span>(<span class="ruby-identifier">headers</span>)
2189
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">row_num</span>.<span class="ruby-identifier">nil?</span>
2190
-
2191
- <span class="ruby-identifier">table_hash</span> = {}
2192
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:table</span>] = []
2193
-
2194
- <span class="ruby-identifier">header_row</span> = <span class="ruby-identifier">sheet_data</span>[<span class="ruby-identifier">row_num</span>]
2195
- <span class="ruby-identifier">header_row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">header_cell</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
2196
- <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">index</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>[<span class="ruby-value">:last_header</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">header_row</span>[<span class="ruby-identifier">index</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">header_row</span>[<span class="ruby-identifier">index</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">header_row</span>[<span class="ruby-identifier">index</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span><span class="ruby-operator">==</span><span class="ruby-identifier">opts</span>[<span class="ruby-value">:last_header</span>]
2197
- <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">header_cell</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">header_cell</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span>
2198
- <span class="ruby-identifier">header</span> = <span class="ruby-identifier">header_cell</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>
2199
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:sorted_headers</span>]<span class="ruby-operator">||=</span>[]
2200
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:sorted_headers</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">header</span>
2201
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-identifier">header</span>] = []
2202
-
2203
- <span class="ruby-identifier">original_row</span> = <span class="ruby-identifier">row_num</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
2204
- <span class="ruby-identifier">current_row</span> = <span class="ruby-identifier">original_row</span>
2205
-
2206
- <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">current_row</span>]
2207
- <span class="ruby-identifier">cell</span> = <span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>[<span class="ruby-identifier">index</span>]
2208
-
2209
- <span class="ruby-comment"># makes array of hashes in table_hash[:table]</span>
2210
- <span class="ruby-comment"># as well as hash of arrays in table_hash[header]</span>
2211
- <span class="ruby-identifier">table_index</span> = <span class="ruby-identifier">current_row</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">original_row</span>
2212
- <span class="ruby-identifier">cell_test</span> = (<span class="ruby-operator">!</span><span class="ruby-identifier">cell</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span>)
2213
-
2214
- <span class="ruby-keyword">while</span> <span class="ruby-identifier">cell_test</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:table</span>][<span class="ruby-identifier">table_index</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:table</span>][<span class="ruby-identifier">table_index</span>].<span class="ruby-identifier">empty?</span>)
2215
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-identifier">header</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">cell_test</span>
2216
- <span class="ruby-identifier">table_index</span> = <span class="ruby-identifier">current_row</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">original_row</span>
2217
-
2218
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">cell_test</span> <span class="ruby-keyword">then</span>
2219
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:table</span>][<span class="ruby-identifier">table_index</span>] <span class="ruby-operator">||=</span> {}
2220
- <span class="ruby-identifier">table_hash</span>[<span class="ruby-value">:table</span>][<span class="ruby-identifier">table_index</span>][<span class="ruby-identifier">header</span>] = <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span>
2221
- <span class="ruby-keyword">end</span>
2222
-
2223
- <span class="ruby-identifier">current_row</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2224
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">current_row</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">then</span>
2225
- <span class="ruby-identifier">cell</span> = <span class="ruby-keyword">nil</span>
2226
- <span class="ruby-keyword">else</span>
2227
- <span class="ruby-identifier">cell</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">current_row</span>].<span class="ruby-identifier">cells</span>[<span class="ruby-identifier">index</span>]
2228
- <span class="ruby-keyword">end</span>
2229
- <span class="ruby-identifier">cell_test</span> = (<span class="ruby-operator">!</span><span class="ruby-identifier">cell</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span>)
2230
- <span class="ruby-keyword">end</span>
2231
- }
2232
-
2233
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">table_hash</span>
2234
- <span class="ruby-keyword">end</span></pre>
2235
- </div>
2236
-
2237
- </div>
2238
-
2239
-
2240
-
2241
-
2242
2240
  </div>
2243
2241
 
2244
2242
 
@@ -2261,7 +2259,7 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2261
2259
 
2262
2260
 
2263
2261
  <div class="method-source-code" id="insert_cell-source">
2264
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 194</span>
2262
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 195</span>
2265
2263
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_cell</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">shift</span> = <span class="ruby-keyword">nil</span>)
2266
2264
  <span class="ruby-identifier">validate_workbook</span>
2267
2265
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">col</span>)
@@ -2276,10 +2274,10 @@ href="http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet
2276
2274
  <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">cells</span>[<span class="ruby-identifier">col</span>] = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">index</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>].<span class="ruby-identifier">cells</span>[<span class="ruby-identifier">col</span>]
2277
2275
  }
2278
2276
  <span class="ruby-keyword">else</span>
2279
- <span class="ruby-identifier">raise</span> <span class="ruby-string">'invalid shift option'</span>
2277
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;invalid shift option&#39;</span>
2280
2278
  <span class="ruby-keyword">end</span>
2281
2279
 
2282
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">add_cell</span>(<span class="ruby-identifier">row</span>,<span class="ruby-identifier">col</span>,<span class="ruby-identifier">data</span>,<span class="ruby-identifier">formula</span>)
2280
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">add_cell</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">col</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">formula</span>)
2283
2281
  <span class="ruby-keyword">end</span></pre>
2284
2282
  </div>
2285
2283
 
@@ -2312,7 +2310,7 @@ which reference cells which are being “pushed right”</p>
2312
2310
 
2313
2311
 
2314
2312
  <div class="method-source-code" id="insert_column-source">
2315
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 296</span>
2313
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 297</span>
2316
2314
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>)
2317
2315
  <span class="ruby-identifier">validate_workbook</span>
2318
2316
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>)
@@ -2363,14 +2361,14 @@ which reference cells which are being “pushed right”</p>
2363
2361
  <div class="method-description">
2364
2362
 
2365
2363
  <p>Inserts row at row_index, pushes down, copies style from the row above
2366
- (thats what Excel 2013 does!) NOTE: use of this method will break formulas
2367
- which reference cells which are being “pushed down”</p>
2364
+ (that&#39;s what Excel 2013 does!) NOTE: use of this method will break
2365
+ formulas which reference cells which are being “pushed down”</p>
2368
2366
 
2369
2367
 
2370
2368
 
2371
2369
 
2372
2370
  <div class="method-source-code" id="insert_row-source">
2373
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 244</span>
2371
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 245</span>
2374
2372
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_row</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>)
2375
2373
  <span class="ruby-identifier">validate_workbook</span>
2376
2374
  <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row_index</span>)
@@ -2434,7 +2432,7 @@ which reference cells which are being “pushed down”</p>
2434
2432
 
2435
2433
 
2436
2434
  <div class="method-source-code" id="is_column_bolded-source">
2437
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 444</span>
2435
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 445</span>
2438
2436
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_bolded</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
2439
2437
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
2440
2438
  <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_bold</span>
@@ -2468,7 +2466,7 @@ which reference cells which are being “pushed down”</p>
2468
2466
 
2469
2467
 
2470
2468
  <div class="method-source-code" id="is_column_italicized-source">
2471
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 439</span>
2469
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 440</span>
2472
2470
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_italicized</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
2473
2471
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
2474
2472
  <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_italic</span>
@@ -2502,7 +2500,7 @@ which reference cells which are being “pushed down”</p>
2502
2500
 
2503
2501
 
2504
2502
  <div class="method-source-code" id="is_column_struckthrough-source">
2505
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 454</span>
2503
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 455</span>
2506
2504
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_struckthrough</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
2507
2505
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
2508
2506
  <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_strikethrough</span>
@@ -2536,7 +2534,7 @@ which reference cells which are being “pushed down”</p>
2536
2534
 
2537
2535
 
2538
2536
  <div class="method-source-code" id="is_column_underlined-source">
2539
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 449</span>
2537
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 450</span>
2540
2538
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_underlined</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>)
2541
2539
  <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>)
2542
2540
  <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_underlined</span>
@@ -2570,7 +2568,7 @@ which reference cells which are being “pushed down”</p>
2570
2568
 
2571
2569
 
2572
2570
  <div class="method-source-code" id="is_row_bolded-source">
2573
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 367</span>
2571
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 368</span>
2574
2572
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_bolded</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2575
2573
  (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_bold</span>
2576
2574
  <span class="ruby-keyword">end</span></pre>
@@ -2603,7 +2601,7 @@ which reference cells which are being “pushed down”</p>
2603
2601
 
2604
2602
 
2605
2603
  <div class="method-source-code" id="is_row_italicized-source">
2606
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 363</span>
2604
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 364</span>
2607
2605
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_italicized</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2608
2606
  (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_italic</span>
2609
2607
  <span class="ruby-keyword">end</span></pre>
@@ -2636,7 +2634,7 @@ which reference cells which are being “pushed down”</p>
2636
2634
 
2637
2635
 
2638
2636
  <div class="method-source-code" id="is_row_struckthrough-source">
2639
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 375</span>
2637
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 376</span>
2640
2638
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_struckthrough</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2641
2639
  (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_strikethrough</span>
2642
2640
  <span class="ruby-keyword">end</span></pre>
@@ -2669,7 +2667,7 @@ which reference cells which are being “pushed down”</p>
2669
2667
 
2670
2668
 
2671
2669
  <div class="method-source-code" id="is_row_underlined-source">
2672
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 371</span>
2670
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 372</span>
2673
2671
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_underlined</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>)
2674
2672
  (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_underlined</span>
2675
2673
  <span class="ruby-keyword">end</span></pre>
@@ -2680,6 +2678,43 @@ which reference cells which are being “pushed down”</p>
2680
2678
 
2681
2679
 
2682
2680
 
2681
+ </div>
2682
+
2683
+
2684
+ <div id="method-i-merge_cells" class="method-detail ">
2685
+
2686
+ <div class="method-heading">
2687
+ <span class="method-name">merge_cells</span><span
2688
+ class="method-args">(start_row, start_col, end_row, end_col)</span>
2689
+
2690
+ <span class="method-click-advice">click to toggle source</span>
2691
+
2692
+ </div>
2693
+
2694
+
2695
+ <div class="method-description">
2696
+
2697
+ <p>Merges cells within a rectangular area</p>
2698
+
2699
+
2700
+
2701
+
2702
+ <div class="method-source-code" id="merge_cells-source">
2703
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 758</span>
2704
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">merge_cells</span>(<span class="ruby-identifier">start_row</span>, <span class="ruby-identifier">start_col</span>, <span class="ruby-identifier">end_row</span>, <span class="ruby-identifier">end_col</span>)
2705
+ <span class="ruby-identifier">validate_workbook</span>
2706
+
2707
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">merged_cells</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">MergedCells</span>.<span class="ruby-identifier">new</span>
2708
+ <span class="ruby-comment"># TODO: add validation to make sure ranges are not intersecting with existing ones</span>
2709
+ <span class="ruby-identifier">merged_cells</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">MergedCell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:ref</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Reference</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">start_row</span>, <span class="ruby-identifier">end_row</span>, <span class="ruby-identifier">start_col</span>, <span class="ruby-identifier">end_col</span>))
2710
+ <span class="ruby-keyword">end</span></pre>
2711
+ </div>
2712
+
2713
+ </div>
2714
+
2715
+
2716
+
2717
+
2683
2718
  </div>
2684
2719
 
2685
2720
 
@@ -2702,7 +2737,7 @@ which reference cells which are being “pushed down”</p>
2702
2737
 
2703
2738
 
2704
2739
  <div class="method-source-code" id="row_font-source">
2705
- <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 393</span>
2740
+ <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 394</span>
2706
2741
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)
2707
2742
  (<span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">get_font</span>
2708
2743
  <span class="ruby-keyword">end</span></pre>
@@ -2724,7 +2759,7 @@ which reference cells which are being “pushed down”</p>
2724
2759
 
2725
2760
  <footer id="validator-badges" role="contentinfo">
2726
2761
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
2727
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
2762
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
2728
2763
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
2729
2764
  </footer>
2730
2765