Sha256: ef611c32fc70ca578922fb9492800823d948bc3bfbfa91db97e39e79acb229bf

Contents?: true

Size: 469 Bytes

Versions: 2

Compression:

Stored size: 469 Bytes

Contents

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.3.0 lib/wannabe_bool/attributes.rb
wannabe_bool-0.2.0 lib/wannabe_bool/attributes.rb