diff --git a/lib/weary/resource.rb b/lib/weary/resource.rb
index <HASH>..<HASH> 100644
--- a/lib/weary/resource.rb
+++ b/lib/weary/resource.rb
@@ -9,11 +9,11 @@ module Weary
 
     def initialize(method, uri)
       @method = method
-      @uri = Addressable::Template.new(uri)
+      self.url uri
     end
 
     def url(uri=nil)
-      @uri = Addressable::Template.new(uri) unless uri.nil?
+      @uri = Addressable::Template.new(uri.gsub(/:(\w+)/) { "{#{$1}}" }) unless uri.nil?
       @uri
     end
 
diff --git a/spec/weary/resource_spec.rb b/spec/weary/resource_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/weary/resource_spec.rb
+++ b/spec/weary/resource_spec.rb
@@ -20,6 +20,18 @@ describe Weary::Resource do
       resource.url url
       resource.url.pattern.should eql url
     end
+
+    it "accepts variables in the url" do
+      url = "http://github.com/api/v2/json/repos/show/{user}/{repo}"
+      resource = Weary::Resource.new "GET", url
+      resource.url.variables.should include 'user'
+    end
+
+    it "accepts variables in the sinatra style" do
+      url = "http://github.com/api/v2/json/repos/show/:user/:repo"
+      resource = Weary::Resource.new "GET", url
+      resource.url.variables.should include 'user'
+    end
   end
 
   describe "#optional" do
Allow Sinatra-style url variables in resource paths