Sha256: 85de15567ab7fbf7dbb2c75bdef5de9e48183ba6f851763bc25897c92af4982e

Contents?: true

Size: 517 Bytes

Versions: 13

Compression:

Stored size: 517 Bytes

Contents

# frozen_string_literal: true

module LunaPark
  module Extensions
    module PredicateAttrAccessor
      def predicate_attr_accessor(*names)
        attr_writer(*names)
        attr_reader?(*names)
      end

      alias attr_accessor? predicate_attr_accessor

      def predicate_attr_reader(*names)
        names.each do |name|
          ivar = :"@#{name}"
          define_method(:"#{name}?") { instance_variable_get(ivar) }
        end
      end

      alias attr_reader? predicate_attr_reader
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
luna_park-0.13.2 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.13.1 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.13.0 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.12.1 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.12.0 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.7 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.6 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.5 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.4 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.3 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.2 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.1 lib/luna_park/extensions/predicate_attr_accessor.rb
luna_park-0.11.0 lib/luna_park/extensions/predicate_attr_accessor.rb