Sha256: 86379ef8e15183e25e3978e5c4fe50f6f79bfb0cacb7c0cc1498cfed6f95b9f6

Contents?: true

Size: 1.29 KB

Versions: 6

Compression:

Stored size: 1.29 KB

Contents

class Buby
  module Implants
    # This interface is used to hold details about an Intruder attack.
    #
    module IntruderAttack
      # This method is used to retrieve the request template for the attack.
      #
      # @return [String] The request template for the attack.
      #
      def getRequestTemplate
        pp [:got_getRequestTemplate] if $DEBUG
        String.from_java_bytes __getRequestTemplate
      end

      # Install ourselves into the current +IIntruderAttack+ java class
      # @param [IIntruderAttack] attack
      #
      def self.implant(attack)
        unless attack.implanted? || attack.nil?
          pp [:implanting, attack, attack.class] if $DEBUG
          attack.class.class_exec(attack) do |attack|
            a_methods = %w{
              getRequestTemplate
            }
            a_methods.each do |meth|
              alias_method "__"+meth.to_s, meth
            end
            include Buby::Implants::IntruderAttack
            a_methods.each do |meth|
              java_class.ruby_names_for_java_method(meth).each do |ruby_meth|
                define_method ruby_meth, Buby::Implants::IntruderAttack.instance_method(meth)
              end
            end
            include Buby::Implants::Proxy
          end
        end
        attack
      end
      
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
buby-1.6.0-java lib/buby/implants/intruder_attack.rb
buby-1.5.2-java lib/buby/implants/intruder_attack.rb
buby-1.5.1-java lib/buby/implants/intruder_attack.rb
buby-1.5.0-java lib/buby/implants/intruder_attack.rb
buby-1.5.0.pre4-java lib/buby/implants/intruder_attack.rb
buby-1.5.0.pre3-java lib/buby/implants/intruder_attack.rb