Module: Stitcher::Require

Includes:
Register
Included in:
Stitcher
Defined in:
lib/stitcher/require.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Register

define_call_method, register, #stitcher_register

Class Method Details

.method_added(name) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/stitcher/require.rb', line 13

def self.method_added name
  return unless @stitcher_require_concept
  concept = @stitcher_require_concept
  @stitcher_require_concept = nil

  method = @stitcher_require_methods.find{ |it| it.name == name }
  if method && stitcher_method_table(name).empty?
    # Don't wrap method.
    stitcher_add name, nil, method
  end

  Register.register self, name, concept
end

Instance Method Details

#stitcher_require(concept) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/stitcher/require.rb', line 8

def stitcher_require concept
  @stitcher_require_concept = concept
  @stitcher_require_methods = instance_methods.map { |name| instance_method name }

  return if methods.include? :method_added
  def self.method_added name
    return unless @stitcher_require_concept
    concept = @stitcher_require_concept
    @stitcher_require_concept = nil

    method = @stitcher_require_methods.find{ |it| it.name == name }
    if method && stitcher_method_table(name).empty?
      # Don't wrap method.
      stitcher_add name, nil, method
    end

    Register.register self, name, concept
  end
end