On Sunday, August 20, 2017 at 7:29:49 PM UTC-7, Nick wrote:
>
> I really like sequel, and I really like dry-types, and I'm not a big fan 
> of the active model pattern - has any one tried to write some integration 
> code to provide some persistence style glue between sequel and dry-types?  
> A quick google search turned up nothing...
>
> I'm wanting to be able to do something like:
>
> persistence = Sequel::DryTypes.new(cnx)
> type = My::Type.new(:foo => 'bar')
> persistence.save(type)
> new_type = persistence.fetch(type.id)
>
> Anyone got any clues, tips or advice? :)
>

No experience here.  I will say that this code example looks a little odd. 
 I understand the advantages (and disadvantages) of separating persistence 
from modeling, but having the persistence code mutate the object passed in 
(to set the id) seems to go against the separation.  After all, if the 
persistence layer would mutate the object, why would it mutate just the id 
and not the entire object?

The separation between persistence and modeling makes more sense if you are 
doing:

  saved_type = persistence.save(type)
  new_type = persistence_fetch(saved_type.id)

Or even better:

  new_type = persistence.save_and_fetch(type)

assuming that save_and_fetch would apply the same optimization that 
Sequel::Model#save would do in regards to using INSERT ... RETURNING (or 
the equivalent for the database).

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to