Skip to content
This repository has been archived by the owner on Mar 4, 2020. It is now read-only.
/ parse_csv Public archive

Parse, validate and transform CSV files using custom formats and transformers

Notifications You must be signed in to change notification settings

mszyndel/parse_csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParseCsv

Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file lib/parse_csv. To experiment with that code, run bin/console for an interactive prompt.

TODO: Delete this and the text above, and describe your gem

Installation

Add this line to your application's Gemfile:

gem 'parse_csv'

And then execute:

$ bundle

Or install it yourself as:

$ gem install parse_csv

Usage

To use ParseCsv define your own class which inherits from ParseCsv::Parser. In this class, define expected columns like below

class StatementParser < ParseCsv::Parser
  column :date,        :date,    '%Y-%m-%d',             'Statement date'
  column :id,          :integer, /\A\[0-9]+\z/,          'Operation ID'
  column :description, :custom,  /\A.+\z/,               'Description'
  column :value,       :float,   /\A[0-9]+(\.[0-9]+)\z/, 'Transaction value', ->(v) { v.to_f.round(2) } }
end

column method takes four arguments:

  • column name
  • column type (one of integer, float, date, or custom)
  • format, as date format string for :date, regexp for other types
  • header (optional)
  • transformation proc (optional)

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mszyndel/parse_csv.

About

Parse, validate and transform CSV files using custom formats and transformers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published