Skip to content

Nozomi-Hijikata/ycv

Repository files navigation

Ycv

The Ycv Gem (YAML to CSV and vice versa) is a simple yet powerful command-line tool designed specifically for converting Rails fixtures between YAML and CSV formats. This makes Ycv an ideal tool for developers working with Rails applications, allowing for easy manipulation and conversion of data fixtures and configurations.

Installation

To install the Ycv gem, add the following line to your application's Gemfile:

gem 'ycv'

Then execute:

bundle install

Alternatively, you can install it yourself from the command line:

gem install ycv

Usage

Command-Line Interface (CLI)

The ycv command-line tool is straightforward to use and supports output to both files and standard output (STDOUT), making it versatile for scripting and piping to other commands.

Converting Files

To convert a YAML file to CSV:

ycv path/to/input.yml path/to/output.csv

To convert a CSV file to YAML:

ycv path/to/input.csv path/to/output.yml

Using Standard Output If you prefer to output the conversion result to STDOUT (for example, for further processing with other command-line tools), simply omit the output file path:

Convert YAML to CSV and output to STDOUT:

ycv path/to/input.yml > output.csv

Convert CSV to YAML and output to STDOUT:

ycv path/to/input.csv > output.yml

This feature allows you to easily integrate ycv into your command-line workflows and use it in conjunction with other tools like grep, awk, or redirections.

As a Ruby Library

In addition to the CLI, Ycv can be used as a library within Ruby applications.

Sample Conversion

This section provides a simple example of converting between CSV and YAML formats using the ycv tool.

YAML to CSV Conversion

Given a YAML file sample.yml with the following content:

sample_1:
  id: 1
  name: Alice
  age: 30
  
sample_2:
  id: 2
  name: Bob
  age: 25

Running ycv sample.yml sample.csv will produce a CSV file sample.csv with the following content:

id,name,age
1,Alice,30
2,Bob,25

CSV to YAML Conversion

Conversely, given a CSV file sample.csv with the following content:

id,name,age
1,Alice,30
2,Bob,25

Running ycv sample.csv sample.yml will produce a YAML file sample.yml with the following content:

sample_1:
  id: 1
  name: Alice
  age: 30
  
sample_2:
  id: 2
  name: Bob
  age: 25

These examples demonstrate the straightforward conversion process between CSV and YAML formats, making it easy to integrate ycv into your data handling workflows.

Contributing

Contributions to Ycv are always welcome, whether it's through bug reports, pull requests, or feature requests.

Feel free to contribute GitHub at https://github.com/Nozomi-Hijikata/ycv.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages