Eisenhower is a work-in-progress read-only rubygem to help you work the Interstate API.
Install
gem install 'eisenhower'
Usage
First thing to do is set an OAuth token – how you get this, at the moment, is up to you.
Eisenhower.oauth_token = "432n4u3h24v23"
Now you can get all your roadmaps!
Eisenhower::Roadmap.all
You’ll get back interconnected Eisenhower objects whenever possible. Try this to get all the roads on a specific roadmap:
map = Eisenhower::Roadmap.all.first 
map = Eisenhower::Roadmap.find("234f23f23fc2fg")
    #<Eisenhower::Roadmap:0x00000100964028 
        @id="4d86bd5a36c040e22c000285", 
        @app_id="4d86bd5a36c040e22c000283", 
        @archived=false, 
        @public=nil, 
        @title="Your first roadmap", 
        @staff_ids=["4d86bd5a36c040e22c000284", "4d90e61336c040672d00035e"]>
map.roads 
    
    [#<Eisenhower::Road:0x000001009156d0 
        @id="4d86bd5a36c040e22c000287", 
        @title="This is a road", 
        @description="A road is usually the name of a feature that you're building. Etc, etc.", 
        @description_html="<p>A road is usually the name of a feature that you're building. Etc, etc.</p>", 
        @collapsed=false, 
        @status="Launched", 
        @due=false, 
        @started=false, 
        @position=0, 
        @updates_count=0, 
        @update_ids=[], 
        @staff_ids=["4d86bd5a36c040e22c000284"]>]
        
map.roads.first.title
    "This is a road" 
    
map.roads.first.staff
    [#<Eisenhower::Staff:0x000001019d9548 
        @id="4d86bd5a36c040e22c000284", 
        @full_name="Micah Rich", 
        @email=nil, 
        @admin=true>]
        
And so on.
Double check the code, but most attributes are from Interstate's documentation:
To Do
There’s much left to do, so please feel free to fork it & help out.
- 
Refactor - There are too many API calls, which makes getting simple information slow. API calls inside API calls gets ugly, and there’s a lot of information that could be instantiated without an extra call. 
- 
Tests - I'm a designer, and am subsequently despicable at writing tests. Please help. 
- 
Implement newer API objects - There are now at least two more objects (File & Activity) that I haven’t touched yet. 
- 
Writing as well as Reading - The only reason Eisenhower is read-only is because that’s all I’ve found time to do so far. Help here would be swell. 
Perhaps together, we can get it up to version one.
