Initial commit. Generated new Rails 3.2 application.
Generated the data model / schema for a normalised data model.
ActiveRecord Model relationships. Removed the "item count" from purchases
as we will fully normalize that data and record separate records for each
purchase.
Some basic tests for address model.
Added validation for mechant name. Address some basic tests for merchant.
Moved to a HABTM style relationship for customer item purchases.

Removed timestamps from the purchases HABTM relationship table as
they are not set by default by the helper.
Removed the "purchase" model as we are not currently needing to
store extra information in that relationship.
Added some basic tests for the customer record.
Price setter method that converts a string amount to cents integer.

Price can be set by passing a price string to the price attribute setter.
This converst the string into an integer, amount value in cents.
If the string contains any invalid chars, set the price to nil.
Added empty "Import" controller for controlling the upload.
Remove default root page.
Routes for uploading file. Form to upload file. Import class for import logic.

Routes to upload a file from a "import" form.
Placing the logic of the import into it's own class to keep the controller
logic clean.
Logic to import the CSV.

Import assumes that the first row is a heading row.
Import logic totals the prices of the imported values.
display the total revenue in a flash message.
Remove debug statement. Picking up again.

Had to break for other commitments. Returning now to
make a few more coding changes, and installation doco.
Check if file is uploaded before processing.

A user might accidentally click upload without
selecting a file. If they do this let them know
that they need to select a file to upload.
Fix for the price formatting function.

Was using incorrect syntax for inserting a char
into the price string.
Refactor code to provide convert_to_cents outside class method.

Moved code from the price setter method, to a class function
to allow the code to convert a formatted price (e.g. $12,56) into
an integer, counted in cents. This was required to allow the
continued use of find_or_create_by method to find by the price
of the item in cents (rather than formatted).

Added tests for the file importing parse method, fixing bug with
the import caused by trying to do a find_or_create_by on a price
string with $ and decimal place.
Refactor unit test for item to test new Item.convert_to_cents method

Last commit we refactored the item class to have a separate class
method for converting a string price into a cents integer. These
changes relect updated tests for the refactored code.
Move flash messages into resource file to allow for testing

By having the flash message text in the resource file we can
test if that message text is inserted into the flash.
Add more sensible title.

Fix layouts title to be a little more human friendly.
Move the notice/alert messages into en.yml
Display a simple count of records on the index page

To help demonstrate that the system is processing the file
properly, display the totals of each of the main object types.