Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 1.57 KB

README.md

File metadata and controls

50 lines (36 loc) · 1.57 KB

ph_model

Description

Build Status Code Climate Issue Count Dependency Status Gem Version

This Gem basically marries ActiveModel and ActiveAttr is a nice package.

The general format for this is that you make classes mixing in PhModel, and then you can use them easier as data objects.

Eg:

class MyModel
  include PhModel
  
  attribute :name, type: String
  attribute :age, type: Fixnum
  
  validates :name, presence: true
  validates :age, presence: true
end

And then .. you're meant to build these things via .build to ensure that they're valid when constructed.

Eg:

model = MyModel.build(name: "John", age: 21)

And if you were to try to construct it invalid, you'd get:

model = MyModel.build(name: "John")
# Raises: PhModel::ValidationFailed: MyModel is invalid: Age can't be blank

Copyright

Copyright (c) 2015 PayrollHero