[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Need library for parsing configuration files

Gavri Savio Fernandez

11/28/2003 6:10:00 PM

> -----Original Message-----
> From: T. Onoma [mailto:transami@runbox.com]
> Subject: Re: Need library for parsing configuration files

> > hi,
> > i'm writing an application which needs to parse a
> configuration file on
> > program startup. is there a prefered format for
> configuration files in
> > ruby? is there a library for such a purpose? i suppose i
> could do the
> > parsing myself, but i was just wondering if there is a
> sophisticated way
> > out there.
> >
> > thank you
>
> I would consider Yaml.

Yaml is human-readable-and-writable, agreed, but only if the human is a programmer :-)
Actually the problem is that i want configuration values segregated into different groups.
Users would find the Yaml syntax which requires indentation esoteric.

how feasible is it to use Kernel::load() ?
maybe i should let the user modify a ruby source-file, which looks kind of like this

application.ui = true #true, false
window.size = 1000 # 250 - 3000
images.max = 10 # 1 - 50

and then load this file at an appropriate time.
is this a feasible way to do things?

>
> -t0
>
>

Gavri Savio Fernandez
___________________________________________

If only God would give me some clear sign! Like making a large deposit in my name at a Swiss bank. - Woody Allen


1 Answer

Robert Klemme

12/1/2003 7:53:00 AM

0


"Gavri Savio Fernandez" <Gavri_F@infosys.com> schrieb im Newsbeitrag
news:557E17BE74D22143B7BE70EB60E33E9909196571@shlmsg01.ad.infosys.com...
> > -----Original Message-----
> > From: T. Onoma [mailto:transami@runbox.com]
> > Subject: Re: Need library for parsing configuration files
>
> > > hi,
> > > i'm writing an application which needs to parse a
> > configuration file on
> > > program startup. is there a prefered format for
> > configuration files in
> > > ruby? is there a library for such a purpose? i suppose i
> > could do the
> > > parsing myself, but i was just wondering if there is a
> > sophisticated way
> > > out there.
> > >
> > > thank you
> >
> > I would consider Yaml.
>
> Yaml is human-readable-and-writable, agreed, but only if the human is a
programmer :-)
> Actually the problem is that i want configuration values segregated into
different groups.
> Users would find the Yaml syntax which requires indentation esoteric.
>
> how feasible is it to use Kernel::load() ?
> maybe i should let the user modify a ruby source-file, which looks kind
of like this
>
> application.ui = true #true, false
> window.size = 1000 #
250 - 3000
> images.max = 10 #
1 - 50
>
> and then load this file at an appropriate time.
> is this a feasible way to do things?

Like this?


class Config
def initialize
@values = {}
end

def method_missing(sym,*args)
s = sym.to_s.freeze

if s[-1] == ?=
# setter
@values[s] = args.size == 1 ? args[0] : args
else
# getter
@values[s] ||= self.class.new
end
end

def load(file)
instance_eval File.readlines(file, nil).shift
end

def self.load(file)
conf = self.new
conf.load file
conf
end
end

conf = Config.new

conf.load "conf.rc"
p conf

conf = Config.load "conf.rc"
p conf


Regards

robert