Sha256: 6a87e326f4ea945fc34393db1889a32bfaf093842a79dcae2dc1f048e2e9ca78
Contents?: true
Size: 1.23 KB
Versions: 6
Compression:
Stored size: 1.23 KB
Contents
# OptionsModel An ActiveModel implementation that make easier to handle model which will be serialized in a real model. support attribute: - all types that `ActiveModel::Type` support - typed array - enum - embeds one ## Usage class Person < OptionsModel::Base attribute :name, :string attribute :age, :integer validates :name, presence: true end class Book < OptionsModel::Base embeds_one :author, class_name: 'Person' attribute :title, :string attribute :tags, :string, array: true attribute :price, :decimal, default: 0 attribute :meta, :json, default: {} attribute :bought_at, :datetime, default: -> { Time.new } validates :title, presence: true end ## Installation Add this line to your application's Gemfile: ```ruby gem 'options_model' ``` And then execute: ```bash $ bundle ``` ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request Please write unit test with your code if necessary. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
options_model-0.0.6 | README.md |
options_model-0.0.5 | README.md |
options_model-0.0.4 | README.md |
options_model-0.0.3 | README.md |
options_model-0.0.2 | README.md |
options_model-0.0.1 | README.md |