Sha256: abf9fef6b9faaadcc89eeb2cfb569dfb534ab330802be8f9c76e9f42fe3409c1

Contents?: true

Size: 689 Bytes

Versions: 39

Compression:

Stored size: 689 Bytes

Contents

module Contracts
  RSpec.describe Support do
    describe "eigenclass?" do
      it "is falsey for non-singleton classes" do
        expect(Contracts::Support.eigenclass? String).to be_falsey
      end

      it "is truthy for singleton classes" do
        singleton_class = String.instance_exec { class << self; self; end }
        expect(Contracts::Support.eigenclass? singleton_class).to be_truthy
      end
    end

    describe "eigenclass_of" do
      it "returns the eigenclass of a given object" do
        singleton_class = String.instance_exec { class << self; self; end }
        expect(Contracts::Support.eigenclass_of String).to eq singleton_class
      end
    end
  end
end

Version data entries

39 entries across 30 versions & 7 rubygems

Version Path
entitlements-app-0.2.0 lib/contracts-ruby2/spec/support_spec.rb
entitlements-app-0.2.0 lib/contracts-ruby3/spec/support_spec.rb
phillipug-foodie-0.1.0 .vendor/ruby/3.0.0/gems/contracts-0.17/spec/support_spec.rb
contracts-0.17 spec/support_spec.rb
contracts-0.16.1 spec/support_spec.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/contracts-0.13.0/spec/support_spec.rb
honeybadger-4.5.3 vendor/bundle/ruby/2.6.0/gems/contracts-0.16.0/spec/support_spec.rb
contracts-0.16.0 spec/support_spec.rb
contracts-0.15.0 spec/support_spec.rb
contracts-lite-0.15.0 spec/support_spec.rb
contracts-lite-0.14.0 spec/support_spec.rb
contracts-0.14.0 spec/support_spec.rb
contracts-0.13.0 spec/support_spec.rb
contracts-0.12.0 spec/support_spec.rb
contracts-0.11.0 spec/support_spec.rb
contracts-0.10.1 spec/support_spec.rb
contracts-0.10 spec/support_spec.rb
contracts-0.9 spec/support_spec.rb
contracts-0.8 spec/support_spec.rb