class Application
has %w{ application_id title executable options }
end
def application(application_id, &block)
a = Application.new
a.instance_eval(&block)
$applications[application_id] = a
end
application :joe_app do
title "Joe's Application"
executable "My executable"
options "my options"
end
application :another_app do
title "Another App"
executable "another exec"
options "the options"
end
puts $applications[:joe_app].title
joe@ubuntu:~ $ ruby test.rb
Joe's Application
···
On 6/25/05, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:
Joe Van Dyk wrote:
> Hi,
>
> require 'traits'
> $applications = {}
>
> class Application
> has %w{ application_id title executable options}
> end
>
> def application(application_id, &block)
> a = Application.new
> ###### What goes here? #############
> $applications[application_id] = a
> end
>
> application :joe_app do
> title "Joe's Application"
> executable "My executable"
> options "my options"
> end
>
> application :another_app do
> title "Another App"
> executable "another exec"
> options "the options"
> end
>
>
> It should be pretty apparent to what I'm trying to do. Any ideas?
> Can I restructure this better somehow?