Sha256: d72511c362f70a6178f266285c1b8300a7be3116dfd4c62c4f273fc8c18f53f8

Contents?: true

Size: 627 Bytes

Versions: 9

Compression:

Stored size: 627 Bytes

Contents

String.class_eval do
  def to_b
    return true if self == true || self =~ (/^(true|t|yes|y|1)$/i)
    return false if self == false || self.blank? || self =~ (/^(false|f|no|n|0)$/i)
    raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
  end
end

Fixnum.class_eval do
  def to_b
    return true if self == 1
    return false if self == 0
    raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
  end
end

TrueClass.class_eval do
  def to_i; 1; end
  def to_b; self; end
end

FalseClass.class_eval do
  def to_i; 0; end
  def to_b; self; end
end

NilClass.class_eval do
  def to_b; false; end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rails_admin_cms-0.1.1 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.9 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.7 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.6 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.5 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.4 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.3 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.2 lib/rails_admin_cms/core_ext/boolean.rb
rails_admin_cms-0.0.1 lib/rails_admin_cms/core_ext/boolean.rb