Guest User

Untitled

a guest
May 25th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. class Dog < ActiveRecord::Base
  2.  
  3. STATES = %w(Incomplete Complete).freeze
  4.  
  5. validates_inclusion_of :state, :in => STATES
  6. before_validation_on_create :set_initial_state
  7.  
  8. valdates_presence_of :name, :if => :complete?
  9.  
  10. STATES.each do |state|
  11. define_method(:"#{state.underscore}?") do
  12. self.state == state
  13. end
  14. end
  15.  
  16. protected
  17.  
  18. def set_initial_state
  19. self.state ||= STATES.first
  20. end
  21.  
  22. end
Add Comment
Please, Sign In to add comment