Sha256: 3b6d6979934c9fce1b4015c2dc5cc26c5e9e267644f2134e530093501fc55eb1
Contents?: true
Size: 1.55 KB
Versions: 1
Compression:
Stored size: 1.55 KB
Contents
[](https://secure.travis-ci.org/robinbortlik/validates_overlap) # ValidatesOverlap This project rocks and uses MIT-LICENSE. #### This gem is compatible with Rails 3 and 4. #### When this gem should be helpful for you? If you are developing Rails 3 app, let say some meeting planner and you can't save records which have time overlap. #### Using Add to your gemfile ```ruby gem 'validates_overlap' ``` In your model #### without scope ```ruby validates :starts_at, :ends_at, :overlap => true ``` #### with scope ```ruby validates :starts_at, :ends_at, :overlap => {:scope => "user_id"} ``` #### exclude edges ```ruby validates :starts_at, :ends_at, :overlap => {:exclude_edges => "starts_at"} validates :starts_at, :ends_at, :overlap => {:exclude_edges => ["starts_at", "ends_at"]} ``` #### define custom validation key and message ```ruby validates :starts_at, :ends_at, :overlap => {:message_title => "Some validation title", :message_content => "Some validation message"} ``` #### with complicated relation relations Example describes valildatation of user, positions and time slots. User can't be assigned 2 times on position which is under time slot with time overlap. ```ruby class Position < ActiveRecord::Base belongs_to :time_slot belongs_to :user validates "time_slots.starts_at", "time_slots.ends_at", :overlap => { :query_options => {:includes => :time_slot}, :scope => { "positions.user_id" => proc{|position| position.user_id} } } end ```
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
validates_overlap-0.1.3 | README.md |