addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcredit-cardcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobe--smallglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1launch-new-window--smalllight-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Re: [ruby-83] Sep Presentation Slot

From: user 4.
Sent on: Thursday, August 18, 2011 11:23 AM
Totally looking forward to the metaprogramming trip.

I had to skip the last meeting due to personal/last minute emergency stuff, but see you all at the next one!


--- On Thu, 8/18/11, Ho-Sheng Hsiao <[address removed]> wrote:

From: Ho-Sheng Hsiao <[address removed]>
Subject: Re: [ruby-83] Sep Presentation Slot
To: [address removed]
Date: Thursday, August 18, 2011, 8:22 AM


[thumb up]

Sweet.

On Thu, Aug 18, 2011 at 10:06 AM, Mike Skalnik <[address removed]> wrote:
Since no one is standing up for the Hoedown Recap, and it was originally conceived to help fill the gap, lets scrap it and go with your presentation. Can't wait! :)

-Mike

On Wednesday, August 17, 2011 at 1:23 AM, Ho-Sheng Hsiao wrote:


I talked with Adam a couple days ago. What he's planning to present goes well with Intermodal. It segues into it logically.

I don't know if you guys remember my last presentation on metaprogramming. I try to keep them short and to the point. I'd like to have the full 20 minutes, but it'll probably end up running to 15. 

-Hosh

On Tue, Aug 16, 2011 at 6:07 PM, Mike Skalnik <[address removed]> wrote:
Lets do it! Sounds great! However, I think September is a bit packed at the moment. Adam Dill is presenting on gaps in the Asset Pipeline, Bill Siggelkow is doing a short presentation on his Jsonify gem & Travis-CI, and then I was going to do quick Ruby Hoedown Recap.

Another option is you can present, we skip the Hoedown Recap, and run a bit long. What do you all think?

-Mike

On Tuesday, August 16, 2011 at 6:18 AM, Andrew Ryan Hodges wrote:

I want.

Andrew Hodges

On Aug 15, 2011, at 8:26 PM, Ho-Sheng Hsiao <[address removed]> wrote:

Hey people (and meetup organizers),

I asked for a presentation slot for the Sep. meetup but had to clear it with my boss. I just talked with him and it's cleared up.

I want to present a gem I extracted from internal Sparkfly code called Intermodal. This gem lets you quickly put together an authenticated (private) RESTful API. I have it out on github now at: https://github.com/hosh/intermodal

By way of example:

module EventApp
  module API
    class V1_0 < Intermodal::Base

      map_data do

        presentation_for :event do
          include Intermodal::Presenters::NamedResource
          presents :description
          presents :starts_at
          presents :ends_at
          presents :status
        end

        acceptance_for :event do
          include Intermodal::Acceptors::NamedResource
          accepts :description
          accepts :starts_at
          accepts :ends_at
        end
     end

     controllers do
        resources :events
     end

     self.routes = proc do
       resources :events
     end
  end
end

This will create the five RESTful CRUD+I endpoints for events:

GET /events.json
POST /events.json
GET /events/:id.json
PUT /events/:id.json
DELETE /events/:id.json

Combined with rspec macros that look like:

  describe EventApp::Application do
    include SpecHelpers::Resources
    include SpecHelpers::Application
    let(:request_url_prefix) { 'v1.0' }

    context 'Resources' do
      resources 'events' do
        given_create_attributes :name => 'New Event', :starts_at => Time.now, :ends_at => 1.day.from.now, :account_id => 1
        given_update_attributes :name => 'Updated Event'

        expects_resource_crud
      end
  end

Which expands out to 40 spec examples testing JSON/XML, each of the CRUD functions, and proper MIME/TYPE and HTTP Status returns. All tests are done through Rack and tested against the Rack response.

What's in the github right now is *not* a retail experience (for example, I have not tried this on 1.9 or on Rails 3.1 yet). There are no installation documentation or example code. There are a lot of warts and some issues. What I want to present for Sep. is something with a reasonable install docs and how to actually use it.

The presentation includes:

- Why I wrote this
- How to get started
- Resources
  - Top-level resources
  - Nested resources
  - Linking resources
- How to test it
- Known Big Issues

If anyone has suggestions for what they want to see, please let me know.

-Hosh




--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Ho-Sheng Hsiao ([address removed]) from The Atlanta Ruby Meetup Group.
To learn more about Ho-Sheng Hsiao, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]




--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Andrew Ryan Hodges ([address removed]) from The Atlanta Ruby Meetup Group.
To learn more about Andrew Ryan Hodges, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Mike Skalnik ([address removed]) from The Atlanta Ruby Meetup Group.
To learn more about Mike Skalnik, visit his/her member profile

To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Ho-Sheng Hsiao ([address removed]) from The Atlanta Ruby Meetup Group.
To learn more about Ho-Sheng Hsiao, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Mike Skalnik ([address removed]) from The Atlanta Ruby Meetup Group.
To learn more about Mike Skalnik, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Ho-Sheng Hsiao ([address removed]) from The Atlanta Ruby Meetup Group.
To learn more about Ho-Sheng Hsiao, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy