Sha256: d23526729410e5f271936deb2e0d37571a7e05b950d10b52b7bf9d6c4ec5ba21

Contents?: true

Size: 420 Bytes

Versions: 28

Compression:

Stored size: 420 Bytes

Contents

module AttrExtras::AttrQuery
  def self.define_with_suffix(klass, suffix, *names)
    names.each do |name|
      name = name.to_s

      raise ArgumentError, "#{__method__} wants `#{name}?`, not `#{name}`." unless name.end_with?("?")

      klass.send(:define_method, name) do  # def foo?
        !!send("#{name.chop}#{suffix}")    #   !!send("foo_id")
      end                                  # end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
attr_extras-7.1.0 lib/attr_extras/attr_query.rb
attr_extras-7.0.0 lib/attr_extras/attr_query.rb
attr_extras-6.2.5 lib/attr_extras/attr_query.rb
attr_extras-6.2.4 lib/attr_extras/attr_query.rb
attr_extras-6.2.3 lib/attr_extras/attr_query.rb
attr_extras-6.2.2 lib/attr_extras/attr_query.rb
attr_extras-6.2.1 lib/attr_extras/attr_query.rb
attr_extras-6.2.0 lib/attr_extras/attr_query.rb
attr_extras-6.1.0 lib/attr_extras/attr_query.rb
attr_extras-5.2.0 lib/attr_extras/attr_query.rb
attr_extras-5.1.0 lib/attr_extras/attr_query.rb
attr_extras-5.0.0 lib/attr_extras/attr_query.rb
attr_extras-4.6.0 lib/attr_extras/attr_query.rb
attr_extras-4.5.0 lib/attr_extras/attr_query.rb
attr_extras-4.4.0 lib/attr_extras/attr_query.rb
attr_extras-4.3.0 lib/attr_extras/attr_query.rb
attr_extras-4.2.0 lib/attr_extras/attr_query.rb
attr_extras-4.1.0 lib/attr_extras/attr_query.rb
attr_extras-4.0.0 lib/attr_extras/attr_query.rb
attr_extras-3.2.0 lib/attr_extras/attr_query.rb