module SSM::ClassMethods
Public Instance Methods
state_validation(*states) { |resource| ... }
click to toggle source
# File lib/ssm/ssm.rb, line 14 def state_validation(*states, &block) states.each do |state| is_state = (state.to_s + "?").to_sym with_options if: is_state do |resource| yield resource end end end
states(*_states)
click to toggle source
# File lib/ssm/ssm.rb, line 7 def states(*_states) _states.each do |state| define_state_boolean(state) define_state_scope(state) end end
Private Instance Methods
define_state_boolean(_state)
click to toggle source
# File lib/ssm/ssm.rb, line 24 def define_state_boolean(_state) method_name = "#{ _state }?" define_method method_name do self.state == _state.to_s end end
define_state_scope(_state)
click to toggle source
# File lib/ssm/ssm.rb, line 31 def define_state_scope(_state) self.send :scope, _state, -> do where(state: _state) end end