Ymodel

Welcome to ymodel. An active-record-like interface to wrap yaml files.

Installation

Install the gem and add to the application's Gemfile by executing:

$ bundle add ymodel

If bundler is not being used to manage dependencies, install the gem by executing:

$ gem install ymodel

Usage

Create a model with data from Yaml files:

class GridCode < YModel::Base
  index_on :name

  default_attribute :successful_outcomes, with: []
  default_attribute :loading_outcomes, with: []
  default_attribute :loading_maximum, with: 0
  default_attribute :required_documents, with: []
end
---
data:
  - name: FM1
    successful_questionnaire_outcomes:
      - standard
      - accord
    loading_outcomes:
      - majoration
    loading_maximum: 50
    questionnaire_type: QSS
    priority: 1

  - name: FM2
    successful_questionnaire_outcomes:
      - standard
      - accord
    loading_outcomes:
      - majoration
    loading_maximum: 50
    questionnaire_type: QM
    priority: 1

  - name: FM3
    questionnaire_type: QM
    priority: 2
    required_documents:
      - BIO 1
3.0.1 :001 > GridCode.all.first
 =>
#<GridCode:0x000000011a0b7640
 @loading_maximum=50,
 @loading_outcomes=["majoration"],
 @name="FM1",
 @priority=1,
 @questionnaire_type="QSS",
 @required_documents=[],
 @successful_questionnaire_outcomes=["standard", "accord"]>

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. 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 the created tag, and push the .gem file to rubygems.org.

Contributing

Suggestions, ideas or contribution can be discussed with [email protected].

License

The gem is available as open source under the terms of the MIT License.