Skip to content

s12chung/active_warnings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

81952c5 · Jul 14, 2016

History

21 Commits
Jul 19, 2015
Jul 14, 2016
Jul 14, 2016
Jul 27, 2015
Jul 19, 2015
Jul 19, 2015
Jul 14, 2016
Jul 14, 2016
Jul 14, 2016
Jul 19, 2015
Apr 13, 2016
Jul 19, 2015
Oct 21, 2015

Repository files navigation

ActiveWarnings Build Status

Separate ActiveModel::Validations errors for warnings.

Installation

Add this line to your application's Gemfile:

gem 'active_warnings'

And then execute:

$ bundle

Or install it yourself as:

$ gem install active_warnings

Usage

class BasicModel
  include ActiveWarnings

  attr_accessor :name
  def initialize(name); @name = name; end

  warnings do
    validates :name, absence: true
    
    # Example custom validation
    validate { errors.add(:name, "is some_name") if name == "some_name" }
  end
end

#
# Basic Use
#
model = BasicModel.new("some_name")

# Regular ActiveModel::Validations errors work separately
model.valid? # => true		
model.errors.full_messages # => []

# like `#valid?`
model.safe? # => false
model.no_warnings? # => false, equivalent to #safe?
# like `#invalid?`
model.unsafe? # => true
model.has_warnings? # => true, equivalent to #unsafe?
# like `#errors`
model.warnings.full_messages # => ["Name must be blank", "Name is some_name"]

#
# Advanced Use
#
model.using_warnings? # => false, is true in validators when calling #safe?

About

Separate ActiveModel::Validations errors for warnings.

Resources

License

Stars

Watchers

Forks

Packages

No packages published