Sha256: e8666416914911d6a5b31a4286b656ef16bec413ea6edd9ceae4b85a3eb8ab67

Contents?: true

Size: 641 Bytes

Versions: 12

Compression:

Stored size: 641 Bytes

Contents

require "test_helper"

class InheritanceTest < Minitest::Spec
  Song = Struct.new(:id, :title, :length) do
    def self.find_by(options); options[:id].nil? ? nil : new(options[:id]) end
  end

  class Create < Trailblazer::Operation
    self["a"] = "A"
    self["b"] = "B"
    self["c"] = "D"

    def self.class(*skills)
      Class.new(Trailblazer::Operation). tap do |klass|
        skills.each { |skill| klass.heritage.record(:[]=, skill, self[skill]) }
      end
    end
  end

  class Update < Create.class("a", "b")
  end

  it do
    Update["a"].must_equal "A"
    Update["b"].must_equal "B"
    Update["c"].must_equal nil
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
trailblazer-operation-0.0.13 test/inheritance_test.rb
trailblazer-operation-0.0.12 test/inheritance_test.rb
trailblazer-operation-0.0.11 test/inheritance_test.rb
trailblazer-operation-0.0.10 test/inheritance_test.rb
trailblazer-operation-0.0.9 test/inheritance_test.rb
trailblazer-operation-0.0.8 test/inheritance_test.rb
trailblazer-operation-0.0.7 test/inheritance_test.rb
trailblazer-operation-0.0.6 test/inheritance_test.rb
trailblazer-operation-0.0.5 test/inheritance_test.rb
trailblazer-operation-0.0.4 test/inheritance_test.rb
trailblazer-operation-0.0.3 test/inheritance_test.rb
trailblazer-operation-0.0.2 test/inheritance_test.rb