On Oct 13, 2010, at 14:46 , David Masover wrote:


>=20
>> The deal-breaker came when I
>> found it was apparently impossible to emit HAML *from the controller* =
and
>> have it processed.
>=20
> I'm pretty sure that's not true, though it's probably a bad idea and =
the code=20
> would likely be ugly.

It might be possible, but I spent three or four hours trying, and =
failed. More about this in a following paragraph.

>  I certainly don't see how abandoning the idea of=20
> separating logic from presentation wholesale is better.

Neither did the people on the Sequel list. But I should say that I =
didn't abandon separating logic from presentation. It was my MODEL that =
ended up having to handle most of the presentation that kept climbing =
out of Haml.=20

>> It's a program for a pharmaceutical company to track their products,
>> processing, and inventory. My PostgreSQL schema uses a custom data =
type
>> ('percentage' which is a numeric(5,2) that cannot be set above 100.00 =
or
>> below 0.00),
>=20
> Huh. DataMapper does support custom, user-defined types, though I'm =
not sure=20
> how easy it is to do that with an existing adapter. (To give you an =
idea,=20
> there is currently a working DataMapper adapter for Google App =
Engine.)

I found all kinds of indications that even ActiveRecord *could* do what =
I wanted. But in the end, whether or not something is *possible* is =
completely irrelevant in the face of "can *I* make it do that in a =
reasonable amount of time?"=20

IIRC, DataMapper and Sequel both seemed to have fairly similar =
capabilities based on various people's descriptions, and I think both of =
them were recommended to me a couple of times. Sequel's documentation =
kicks titanic ass, though: far and away the best I've ever gotten with =
any Ruby-related thingamabob. Well written and well organized RDoc-y =
parts, AND extensive walk-throughs, examples, and discussions, all =
installed right on my system, plus a developer whom I've seen easily =
answer questions that made my eyes cross.=20

HAML's documentation *looked* really good at first, but that's because =
it's good at telling you what it thinks you should know. It was =
completely silent on how to make it process the contents of a variable =
as HAML, or to otherwise get it inserted *before* interpretation. Nor =
could whichever list I asked on provide a workable answer. (feature I =
cannot find or use) =3D=3D !(feature)

>> You'd think so. I need it because I *am* using a reverse proxy. =
However,
>> the redirect _attaches the port number_,
>=20
> Yeah, it shouldn't do that. Either Rails doesn't, or nginx does strip =
that=20
> (unlikely), because I've hosted production Rails apps in exactly this=20=

> environment -- nginx listening on example.com, forwarding to multiple =
Mongrels=20
> on various ports, not necessarily on the same machine.
>=20
> So, probably somewhere in Ramaze.

I think it's probably in Innate, but I'm not really clear on how Innate =
and Ramaze are related. Alas, Ramaze's docs are rather scattered and not =
entirely up to date.