monkeypatching

    1

    1答えて

    私はJsonRestのクエリメソッドを修正しようとしています。私は縫い目をして効果を出すものはありません。以下では、クエリメソッドがもう機能しなくなり、「サルはアヒルを突き刺す」と書いています。コンソールに出力します。しかし、悲しいかな、アプリ全体は、壊滅的な試みを無視して作業を続けています。特定のインスタンスにパッチを適用する必要がありますか? dojo.require("dojo.store.

    12

    3答えて

    class String def hello "world" end end String.class_eval { def world "hello" end } "a".world => "hello" "b".hello => "world" 彼らは同じことをやっているようだ - 既存のクラスにメソッドを追加し

    0

    1答えて

    Request.remote_ipにパッチを当てたり、オーバーロードしたりする必要があります(または、Request.ipはremote_ipの代わりに使用する必要があると言われています)、通常のように動作しますが、CF-Connecting-IPがヘッダにあればこのIPアドレスは通常は検出されずに返されます。 このパッチは、クラスとメソッドの定義に関して適切に設定するにはどうすればよいですか?

    1

    1答えて

    ActiveResourceの問題点は、resolvedでしたが、私のアプリケーションにはあまり幸運なことにパッチを適用しようとしていました。 class ActiveResource::Errors < ActiveModel::Errors # https://github.com/rails/rails/commit/b09b2a8401c18d1efff21b3919ac2804

    1

    1答えて

    外部から任意の属性を設定するのは、通常のクラスでは機能しますが、文字列などの内部オブジェクトでは機能しません。任意の属性を設定できるかどうかを確認するにはどうすればよいですか?

    0

    1答えて

    私は、デバイスに接続するためにsudsを使用するいくつかのPythonコードを書いて、wsdlを取得して、デバイス情報を照会します。そのコードの一部が動作し、sudsの作成とオブジェクトのように見え、そのオブジェクトにデータを配置します。私は、特定の順序と形式で、私が望む属性だけを印刷する、オブジェクトprintDataにメソッドを追加したいと思います。私は、明示的に宣言するオブジェクト、またはオ

    0

    1答えて

    メモリ内のルーチンコードを別の場所にコピーしたい。例えば、 procedure OldShowMessage; begin ShowMessage('Old message..'); end; 私はメモリ内の別の場所にルーチンをコピーしたいと言います。私はいくつかの擬似コードは、私はこれを行うのいずれかの可能性があるかどうかを知りたい // VirtualProtect(@Old

    6

    1答えて

    私は単体テストで実際のファイルを作成したくありません。だから私はしばしばナンセンスの定型文を使って を修正し、疑似ファイル用のモックファクトリを作成することに気付いています。 open = lambda x: StringIO() これはOKだろう:(この例では)これらの無意味な努力を避けるために、よりよいとローカルユニットテスト方法の範囲内のような 何かをしようとしないならば、私は を不思議

    1

    1答えて

    私は、プログラムの外で変更できるシステム情報を表すオブジェクトを作成しています。私は、変更が検出されたときに呼び出される、自分のコードのユーザーがコールバック関数を指定できるようにすることを考えています。これは def doodie(cls): print cls.teststr class Testarino(object): def __init__(self):

    4

    5答えて

    私は猿のパッチがどのように働くのか、自分のオブジェクトや方法でどのように動作させるかを考えようとしています。私は、このlibのを見てきた 、それは私が自分自身をしたい正確に何が行われます。 https://github.com/antecedent/patchwork それを使用すると、オブジェクトからメソッドを再定義することができます。それはそのための '猿のパッチ'技術を使用します。しかし、ソ