DEVEL_BLOG.md in rspreadsheet-0.1.1 vs DEVEL_BLOG.md in rspreadsheet-0.2.0
- old
+ new
@@ -8,10 +8,12 @@
* Accessors for nonempty/defined cells.
* Maybe insted two syntaxes for accessing cell, we make both of them do the same and return Proxy object which would act either as value or cell.
* Allow any of these:
* ``book['Spring 2014']`` as alternative to ``book.worksheets('Spring 2014')`` ?
* ``sheet.cells.F13`` as alternative to ``sheet.cells[14,5]`` ?
+ * We may have problem with the @parent_row concept in cells. If cell has repeated row as parent and it is detached in some other code, the cell never finds out that its parent_row was changed. A cure to this might be, when there are no "unatacched" cells, and when all cells belong to some row. This way if row detaches it can let know to all its cells.
+ * Document that there is a little distinction betwean RSpreadsheet and RSpreadsheet::Workbook. The former delegates everythink to the other.
Guiding ideas
* xml document is always synchronized with the data. So the save is trivial.
* no duplication of data. Objects like RowArray should containg minimum information. This one exists solely to speed up cell search. Taken to extream it is questionable, whether we need such objects at all, it might be possible to always work with xml directly.
@@ -29,18 +31,20 @@
* [github](https://github.com/gorn/rspreadsheet) hosts the repository where you can get the code
* [coverals](https://coveralls.io/r/gorn/rspreadsheet) checks how well source is covered by tests
### Local manual testing and releasing (to github released, ).
- gem build rspreadsheet.gemspec
- sudo gem install rspreadsheet-x.y.z.gem
- gem push rspreadsheet-x.y.z.gem
+ gem build rspreadsheet.gemspec -\ These two lines together are in install.sh
+ sudo gem install rspreadsheet-x.y.z.gem -/ which should be invoked from parent directory
+ gem push rspreadsheet-x.y.z.gem releases the gem, do not forgot to update version in rspreadsheet.gemspec before doing this
alternative way using ``rake`` command - release is more automatic
- * ``rake build`` - builds the gem to pkg directory.
- * ``sudo rake install`` - If this fails with "mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h" you may want to ``sudo aptitude install ruby-dev``
- * Now can locally and manually use/test the gem. This should not be replacement for automated testing.
+ 1. build and install locally
+ * ``rake build`` - builds the gem to pkg directory.
+ * ``sudo rake install`` - If this fails with "mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h" you may want to ``sudo aptitude install ruby-dev``
+ * Now can locally and manually use/test the gem. This should not be replacement for automated testing. If you make some changes, repeat step 1.
+ * When happy, increment the version number and deploy in next step.
* ``rake release`` - creates a version tag in git and pushes the code to github + Rubygems. After this is succesfull the new version appears as release in Github and RubyGems.
### Naming conventions