コマンドラインでいくつかのパラメータが表示されます。それらの最初の1つは、私が望む動作を実行するために作成しなければならないubyオブジェクトの種類を教えてくれます。私は@entity
に、このパラメータを格納し、私は、これらのインスタンスのいずれかを作成しようとするプロジェクトを言うとき、私はエラーをgetingいクラスを動的に作成するときの初期化でエラーが発生する
entity_class = "EmeraldFW::#{@entity.capitalize}".split('::').inject(Object) {|o,c| o.const_get c}
entity_instance = entity.new(@arguments,@options)
entity_instance.execute_command
行うことにより、このクラスのインスタンスを作成します。
マイプロジェクトのクラスは
module EmeraldFW
class Project < EmeraldFW::Entity
def self.initialize(args,opts)
@valid_option = [ :language, :test, :database, :archetype ]
super(args,opts)
end
.
.
.
で、私のクラスのエンティティは
module EmeraldFW
class Entity
attr_accessor :entity_type, :valid_commands
def self.initialize(args,opts)
@args = args
@opts = clean_option(opts)
end
.
.
.
私のエラーが
/home/edvaldo/software/github/emeraldfw21/lib/emeraldfw.rb:41:in `initialize': wrong number of arguments (given 2, expected 0) (ArgumentError)
で、なぜこれが起こっている私にはわからないです。ご覧のとおり、initializeは2つの引数を受け取り、必要に応じて2つの引数を与えました。
私はこれを長い間見ているかもしれませんが、理由は分かりません。誰か助けてくれますか?