Sha256: 7c411f64a256313886c0bab86b83f65dffb54d9b4acf61546abb643910d9b965
Contents?: true
Size: 886 Bytes
Versions: 4
Compression:
Stored size: 886 Bytes
Contents
require_relative "../test_helper" describe HashDelegate do class DummyClass < Struct.new(:data) extend HashDelegate hash_delegate :size, :color, to: :data end it "adds the getters to the delegated keys" do object = DummyClass.new color: "blue", size: "sm" assert_equal object.color, "blue" assert_equal object.size, "sm" end it "returns nil for if the delegated key is not set" do object = DummyClass.new assert_equal object.color, nil assert_equal object.size, nil end it "allow to set a value through delegation" do object = DummyClass.new object.color = "green" object.size = "lg" assert_equal object.color, "green" assert_equal object.size, "lg" end it "does not add getters to keys that where not delegated" do object = DummyClass.new name: "projects" refute_respond_to object, :name end end
Version data entries
4 entries across 4 versions & 1 rubygems