README.rdoc in csv-mapper-0.0.4 vs README.rdoc in csv-mapper-0.5.0
- old
+ new
@@ -1,39 +1,35 @@
-= README
+= csv-mapper
== DESCRIPTION:
CsvMapper is a small library intended to simplify the common steps involved with importing CSV files to a usable form in Ruby. CsvMapper is compatible with recent 1.8 versions of Ruby as well as Ruby 1.9+
== EXAMPLES:
-The following example will import a CSV file to an Array of OpenStruct[http://ruby-doc.org/core/classes/OpenStruct.html] instances.
+The following example will import a CSV file to an Array of Struct[http://www.ruby-doc.org/core/classes/Struct.html] instances.
==== Example CSV File Structure
First Name,Last Name,Age
John,Doe,27
Jane,Doe,26
Bat,Man,52
...etc...
==== Simple Usage Example
- include CsvMapper
-
- results = import('/path/to/file.csv') do
+ results = CsvMapper.import('/path/to/file.csv') do
start_at_row 1
[first_name, last_name, age]
end
results.first.first_name # John
results.first.last_name # Doe
results.first.age # 27
==== Automagical Attribute Discovery Example
- include CsvMapper
-
- results = import('/path/to/file.csv') do
+ results = CsvMapper.import('/path/to/file.csv') do
read_attributes_from_file
end
results.first.first_name # John
results.first.last_name # Doe
@@ -43,14 +39,12 @@
Although CsvMapper has no dependency on ActiveRecord; it's easy to import a CSV file to ActiveRecord models and save them.
# Define an ActiveRecord model
class Person < ActiveRecord::Base; end
- include CsvMapper
-
- results = import('/path/to/file.csv') do
- map_to Person # Map to the Person ActiveRecord class (defined above) instead of the default OpenStruct.
+ results = CsvMapper.import('/path/to/file.csv') do
+ map_to Person # Map to the Person ActiveRecord class (defined above) instead of the default Struct.
after_row lambda{|row, person| person.save } # Call this lambda and save each record after it's parsed.
start_at_row 1
[first_name, last_name, age]
end
@@ -63,29 +57,18 @@
== INSTALL:
* sudo gem install csv-mapper
-== LICENSE:
+== Note on Patches/Pull Requests
+
+* Fork the project.
+* Make your feature addition or bug fix.
+* Add tests for it. This is important so I don't break it in a
+ future version unintentionally.
+* Commit, do not mess with rakefile, version, or history.
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
+* Send me a pull request. Bonus points for topic branches.
-(The MIT License)
+== Copyright
-Copyright (c) 2008 Luke Pillow
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
+Copyright (c) 2009 Luke Pillow. See LICENSE for details.