Re: How to improve this kind of API?


#1

it always boils down to some widget attribute that can have a

splitter3.expanded? :bottom_left
Thanks in advance for your suggestions!

Lyle

FWIW, I think what you’ve posted here looks good, so long as I could use
strings as well, e.g. splitter.expand(“top_left”).

Regards,

Dan


#2

On Fri, 10 Feb 2006, Berger, Daniel wrote:

it always boils down to some widget attribute that can have a

splitter3.expanded? :bottom_left
Thanks in advance for your suggestions!

Lyle

FWIW, I think what you’ve posted here looks good, so long as I could use
strings as well, e.g. splitter.expand(“top_left”).

indeed. a symbols only api is evil - makes reading config info from
files/yaml a pain.

a config method is also quite nice

splitter.configure {
expand ‘top_left’
something ‘foobar’
}

which should also take a hash

splitter.configured(
‘expand’ => ‘top_left’,
‘something’ => ‘foobar’
)

which makes

splitter.configure(YAML::load(IO:;read(‘config.yml’)))

a one liner.

if config.yml has


expand : top_left
something : foobar

in it.

regards.

-a


#3

On 2/9/06, removed_email_address@domain.invalid removed_email_address@domain.invalid wrote:

indeed. a symbols only api is evil - makes reading config info from
files/yaml a pain…

something : foobar

in it.

How would one specify (especially in the YAML representation) that
both the “top_left” and “top_right” bits for “expand” should be set?
Would it look something like this:

---
expand:
  - top_left
  -top_right
something: foobar

I don’t have as much exposure to YAML as I probably should. :wink:


#4

On Thu, 9 Feb 2006, Lyle J. wrote:

How would one specify (especially in the YAML representation) that
both the “top_left” and “top_right” bits for “expand” should be set?
Would it look something like this:


expand:
- top_left
-top_right
something: foobar

I don’t have as much exposure to YAML as I probably should. :wink:

exactly right.

btw. it’s easy to figure out:

harp:~ > ruby -r yaml -e’ y “expand” => [“top_left”, “top_right”],
“foo” => “bar” ’

expand:

  • top_left
  • top_right
    foo: bar

cheers.

-a