Skip to content

uri/suds

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

suds

Code Climate Circle CI Coverage Status

Welcome to the suds project. This is very much a work in progress, so please use this at your own risk. I am changing the DSL constantly and rewriting the history.

This project will become stable fairly soon.

Suds is a essentially a tool for working with data files. Suds is broken up into three modular components: interpreters, cleaners, and converters.

Interpreters load the data into the suds object. This can be in the form of raw text, json, csv, etc. Interpreteres can be chained together, for instance a (fictional) GoogleDriveInterpreter can pass it's data to the CSVInterpreter.

Cleaners manipulate the data. You can modify/remove rows/columns (in the context of a CSV file).

Converters export the file either to disk or to a remote location.

Requirements

Ruby 2.0.x is tested. If you need support for 1.9.3 use the 1.9.3 branch.

Installation

gem install suds

Or if you're using Bundler, include the following line in your Gemfile:

gem 'suds', git: 'git@github.com:HealthWave/suds.git'

Getting started starting

Initialize your interpreter(s):

f_interpreter = FileInterpreter.new('./path/to/my/file')
csv_interpreter = CSVInterpreter.new(f_interpreter.data)

Create a suds list and add the interpreters to it:

list = Suds.new( csv_interpreter )

Add some cleaners to it:

list.add_cleaner Cleaner.new {|_,v| v.strip! if v } # Inline initialization of a generic cleaner
# Configuring an existing cleaner
list.add_cleaner ColumnConverterCleaner.new({
  company:     :name,
  nlacno:      :partner_practitioner_id,
})
list.add_cleaner ColumnFilterCleaner.new(include_columns: [:name, :partner_practitioner_id, :email])
list.add_cleaner DowncaseCleaner.new()

Run all the cleaners:

list.clean

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages