class Rake::TaskArguments

[edit]

要約

タスクに渡されるパラメータの管理をするクラスです。

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

Enumerableから継承しているメソッド

特異メソッド

new(names, values, parent = nil)[permalink][rdoc][edit]

自身を初期化します。

[PARAM] names:
パラメータの名前のリストを指定します。
[PARAM] values:
パラメータの値のリストを指定します。
[PARAM] parent:
親となる Rake::TaskArguments を指定します。

# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  arguments1 = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
  arguments2 = Rake::TaskArguments.new(["name3", "name4"], ["value3", "value4"], arguments1)
  p arguments1 # => #<Rake::TaskArguments name1: value1, name2: value2>
  p arguments2 # => #<Rake::TaskArguments name3: value3, name4: value4>
  p arguments2["name1"] # => "value1"
  p arguments2["name3"] # => "value3"
end

インスタンスメソッド

self[key] -> object[permalink][rdoc][edit]

与えられたパラメータ名に対応する値を返します。

[PARAM] key:
パラメータの名前を指定します。

# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
  arguments["name1"] # => "value1"
  arguments["name2"] # => "value2"
end
each {|key, val| ... } -> Hash[permalink][rdoc][edit]

自身に含まれるパラメータ名とそれに対応する値をブロックパラメータとしてブロックを評価します。

[SEE_ALSO] Hash#each

inspect -> String[permalink][rdoc][edit]
to_s -> String

自身を人間に読みやすい文字列にして返します。

[SEE_ALSO] Hash#inspect

lookup(name) -> object[permalink][rdoc][edit]

与えられた名前に対応する値を返します。

[PARAM] name:
パラメータ名を指定します。
names -> Array[permalink][rdoc][edit]

パラメータ名のリストを返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
  arguments.names # => ["name1", "name2"]
end
new_scope(names) -> Rake::TaskArguments[permalink][rdoc][edit]

与えられたパラメータ名のリストを使用して新しい Rake::TaskArguments を作成します。

[PARAM] names:
パラメータ名のリストを指定します。

# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
  new_arguments = arguments.new_scope(["name3", "name4"])
  p new_arguments         # => #<Rake::TaskArguments >
  p new_arguments.names   # => ["name3", "name4"]
end
to_hash -> Hash[permalink][rdoc][edit]

パラメータ名と対応する値を格納したハッシュを返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
  arguments.to_hash # => {:name1=>"value1", :name2=>"value2"}
end
with_defaults(defaults) -> Hash[permalink][rdoc][edit]

パラメータにデフォルト値をセットします。

[PARAM] defaults:
デフォルト値として使用するキーと値を格納したハッシュを指定します。

# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
  arguments.to_hash                                        # => {:name1=>"value1", :name2=>"value2"}
  arguments.with_defaults({ default_key: "default_value"}) # => {:default_key=>"default_value", :name1=>"value1", :name2=>"value2"}
  arguments.to_hash                                        # => {:default_key=>"default_value", :name1=>"value1", :name2=>"value2"}
end