epaew / ecg

ERB(eRuby) based, simple and powerful configration file generator for general purpose.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ecg

Gem Version Build Status Maintainability Test Coverage

ecg is an ERB(eRuby) based, simple and powerful configration file generator for general purpose.

Requirements

Ruby: 2.5 or higher

Install

gem install ecg

Usage

See also ecg --help

Simple example

ecg --values name=epaew --values email="epaew.333@gmail.com" < template.json.erb
{
  "type": "user",
  "name": "epaew",
  "email": "epaew.333@gmail.com"
}

or

ecg config.yml < template.json.erb
{
  "type": "user",
  "name": "epaew",
  "email": "epaew.333@gmail.com"
}

with

  • template.json.erb
    {
      "type": "user",
      "name": "<%= name %>",
      "email": "<%= email %>"
    }
  • config.yml
    name: epaew
    email: epaew.333@gmail.com

Using nested keys

ecg --values user.name=epaew --values user.email="epaew.333@gmail.com" < template.json.erb
{
  "user": {
    "name": "epaew",
    "email": "epaew.333@gmail.com"
  }
}

or

ecg config.yml < template.json.erb
{
  "user": {
    "name": "epaew",
    "email": "epaew.333@gmail.com"
  }
}

with

  • template.json.erb
    {
      "user": {
        "name": "<%= user.name %>",
        "email": "<%= user.email %>"
      }
    }
  • config.yml
    user:
      name: epaew
      email: epaew.333@gmail.com

Using array (JSON and YAML only)

ecg config.yml < template.json.erb
{
  "user": [
    {
      "name": "Kurimu"
    },
    {
      "name": "Chizuru"
    },
    {
      "name": "Minatsu"
    },
    {
      "name": "Mahuyu"
    }
  ]
}

with

  • template.json.erb
    {
      "user": [
    <% users.each_with_index do |user, i| %>
        {
          "name": "<%= user.name %>"
    <% unless i == users.count - 1 %>
        },
    <% else %>
        }
    <% end %>
    <% end %>
      ]
    }
  • config.yml
    users:
      - name: Kurimu
      - name: Chizuru
      - name: Minatsu
      - name: Mahuyu

License

MIT

About

ERB(eRuby) based, simple and powerful configration file generator for general purpose.

License:MIT License


Languages

Language:Ruby 100.0%