File: inheritance_test.rb

package info (click to toggle)
ruby-uber 0.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 216 kB
  • sloc: ruby: 466; makefile: 4
file content (52 lines) | stat: -rw-r--r-- 1,151 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# require 'test_helper'
# require 'uber/inheritable_included'

# module InheritIncludedTo
#   def self.call(includer, proc)
#     proc.call(includer) # das will ich eigentlich machen

#     includer.class_eval do
#       @block = proc

#       def self.included(base) #
#         InheritIncludedTo.call(base, instance_variable_get(:@block))
#       end
#     end
#   end
# end

# class InheritanceTest < Minitest::Spec
#   module Feature
#     #extend Uber::InheritedIncluded

#     CODE_BLOCK = lambda { |base| base.class_eval { extend ClassMethods } } # i want that to be executed at every include


#     def self.included(includer) #
#       # CODE_BLOCK.call(base)
#       InheritIncludedTo.call(includer, CODE_BLOCK)
#     end

#     module ClassMethods
#       def feature; end
#     end
#   end

#   module Extension
#     include Feature

#     # TODO: test overriding ::included
#   end

#   module Client
#     include Extension
#   end

#   module ExtendedClient
#     include Client
#   end

#   it { Extension.must_respond_to :feature }
#   it { Client.must_respond_to :feature }
#   it { ExtendedClient.must_respond_to :feature }
# end