Sha256: 5551661e820c33503adaa1cf01cec1f013768101bb79bfeb2198ffda20943e2c

Contents?: true

Size: 487 Bytes

Versions: 2

Compression:

Stored size: 487 Bytes

Contents

# encoding: utf-8
module WannabeBool
  module Attributes
    def self.included(base)
      base.extend(ClassMethods)
    end

    module ClassMethods
      def attr_wannabe_bool(*attributes)
        attributes.each do |attr|
          raise ArgumentError, "#{attr} method is not defined." unless method_defined?(attr)

          next if method_defined?("#{attr}?")

          define_method("#{attr}?") do
            send(attr).to_b
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wannabe_bool-0.1.1 lib/wannabe_bool/attributes.rb
wannabe_bool-0.1.0 lib/wannabe_bool/attributes.rb