class Option
attr_reader :name, :value
def initialize(name, value)
@name = name
@value = value
end
end
list_of_options = [
Option.new("app_path", "rails_app_generator"),
Option.new("repo", "https://github.com/klueless-io/rails_app_generator"),
Option.new("branch", "master")
]
technique1 = list_of_options.map { |option| [option.name, option.value] }.to_h
technique2 = list_of_options.reduce({}) do |my_options, option|
my_options[option.name] = option.value
my_options
end
technique3 = list_of_options.to_h { |option| [option.name, option.value] }
# Resulting Hash
{
"app_path"=>"rails_app_generator",
"repo"=>"https://github.com/klueless-io/rails_app_generator",
"branch"=>"master"
}