On Sat, Jun 5, 2010 at 11:04 AM, Jeremy Evans <[email protected]>wrote:

> On Jun 5, 7:58 am, Nate Wiger <[email protected]> wrote:
> > I found some very old threads, and blogs from other people struggling
> > with this, but is there a to_json plugin for Sequel?
>
> One was added earlier this week:
>
> http://tracker.gamemp3s.net/webui/download?id=c008da4cc7aa05f0fc588c28a145a8e862fcaff2
>
> > The confusing thing is there are to_json methods in Sequel, but they
> > just inspect the object.
>
> That's because the json library adds to_json to Object.
>
> > For the single-record case, ie:
> >
> >   class Main < Sinatra::Base
> >     get '/users/:id.json' do |id|
> >       @user = User[id] or halt 404
> >       @user.to_json
> >     end
> >   end
> >
> >  I just monkey-patched a method into Sequel::Model that takes
> > advantage of Hash/Array.to_json:
> >
> >   Sequel.extension :inflector
> >   class Sequel::Model
> >     def to_json
> >      {self.class.table_name.to_s.singularize => values}.to_json
> >     end
> >   end
> >
> > For the collection case, ie:
> >
> >    class Main < Sinatra::Base
> >      get '/users.json' do
> >        @users = User.all
> >        @users.to_json
> >      end
> >    end
> >
> > I have this but it needs to be generalized:
> >
> >   {'users' => @users.collect{|r| {'user' => r.values}}}.to_json
> >
> > Not sure where to put it because of the fact it's a dataset
> > collection.
> >
> > So, (1) is there already a to_json plugin and (2) if not, input on the
> > above approaches?  I can throw it into a plugin; seems reusable enough
> > and I need it anyways.
>
> Try out the json_serializer plugin and let me know what you think.
>
> Jeremy
>
> --
> You received this message because you are subscribed to the Google Groups
> "sequel-talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<sequel-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/sequel-talk?hl=en.
>
>
I'm pretty sure Jeremy meant to paste this:

http://github.com/jeremyevans/sequel/blob/master/lib/sequel/plugins/json_serializer.rb

;)
pete

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to