Sha256: ef520b3274bdd9c324f80c6825ee1289ca412dfa352be42f77d9e98f1cd90589

Contents?: true

Size: 472 Bytes

Versions: 165

Compression:

Stored size: 472 Bytes

Contents

# frozen_string_literal: true

module EacRubyUtils
  # Provides the method context which search and call a method in self and ancestor objects.
  module Contextualizable
    def context(method)
      current = self
      while current
        return current.send(method) if current.respond_to?(method)

        current = current.respond_to?(:parent) ? current.parent : nil
      end
      raise "Context method \"#{method}\" not found for #{self.class}"
    end
  end
end

Version data entries

165 entries across 165 versions & 3 rubygems

Version Path
avm-tools-0.70.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.69.3 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
ehbrs-tools-0.14.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.69.2 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.69.1 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
eac_ruby_utils-0.46.0 lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.69.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
eac_ruby_utils-0.45.2 lib/eac_ruby_utils/contextualizable.rb
eac_ruby_utils-0.45.1 lib/eac_ruby_utils/contextualizable.rb
eac_ruby_utils-0.45.0 lib/eac_ruby_utils/contextualizable.rb
ehbrs-tools-0.13.1 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.68.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
eac_ruby_utils-0.44.0 lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.67.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.66.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.65.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.64.2 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.64.1 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.64.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb
avm-tools-0.63.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb