<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/exts/request_with_oauth.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,6 @@
+== 0.6.0 / 2008-5-6
+* Support OAuth protocol. Old authententication method will be removed very soon. You should set access_token, access_token_secret, consumer_token, consumer_secret instead of app_key, user_openid, user_key
+
 == 0.5.1 / 2008-4-8
 * protocol configuration added.
 </diff>
      <filename>History.txt</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,8 @@
 
 * activesupport
 * activeresource
+* oauth
+* ruby-hmac
 
 == &#49444;&#52824;:
 </diff>
      <filename>README.korean.txt</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,8 @@ ActiveResource wrapper library for Springnote.com's REST API
 
 * activesupport
 * activeresource
+* oauth
+* ruby-hmac
 
 == INSTALL:
 </diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,7 @@ Hoe.new(&quot;springnote_resources&quot;, Springnote::VERSION) do |p|
   p.email = 'byblue@gmail.com'
   p.changes = p.paragraphs_of('History.txt', 0..1).join(&quot;\n\n&quot;)
   p.need_zip = true
+  p.extra_deps = %w(activeresource) # ruby-hmac oauth
 end
 
 task :update_manifest do</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 module Springnote
-  VERSION = &quot;0.5.1&quot;
+  VERSION = &quot;0.6&quot;
   
   class Base &lt; ActiveResource::Base
     extend ActiveResourceExtension</diff>
      <filename>lib/springnote/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,18 +4,15 @@ module Springnote
   class MissingConfiguration &lt; RuntimeError; end
   
   class Configuration
-    attr_writer :app_key, :user_key, :user_openid, :protocol
-    attr_reader :domain
+    attr_accessor :consumer_token, :consumer_secret
+    attr_accessor :access_token,   :access_secret
+    attr_accessor :protocol, :domain
     
     SERVER_URL = &quot;api.springnote.com&quot;
     
     def protocol
-      @protocol || 'https'
-    end
-
-    def site
-      &quot;#{protocol}://#{username}:#{password}@#{SERVER_URL}/&quot;
-    end
+      @protocol || 'http'
+    end    
     
     def load(file)
       set YAML.load(File.read(file))
@@ -26,6 +23,28 @@ module Springnote
       Springnote::Base.site = self.site
       self
     end
+        
+    def domain=(name = nil)
+      ActiveResource::Connection.common_params[:domain] = name
+    end
+    
+    def site
+      @app_key ? 
+        &quot;#{protocol}://#{username}:#{password}@#{SERVER_URL}/&quot; :
+        &quot;#{protocol}://#{SERVER_URL}/&quot;
+    end
+    
+    def token
+      @token ||= OAuth::Token.new @access_token, @access_secret if @access_token &amp;&amp; @access_secret
+    end
+    
+    def consumer
+      @consumer ||= OAuth::Consumer.new @consumer_token, @consumer_secret, :site =&gt; &quot;https://api.openmaru.com&quot; if @consumer_token &amp;&amp; @consumer_secret
+    end
+
+    # deprecated
+    attr_writer   :app_key, :user_key
+    attr_writer   :user_openid
     
     def username
       CGI.escape(@user_openid || 'anonymous')
@@ -36,11 +55,7 @@ module Springnote
     end
     
     def app_key
-      @app_key or raise MissingConfiguration
-    end
-    
-    def domain=(name = nil)
-      ActiveResource::Connection.common_params[:domain] = name
-    end
+      @app_key
+    end    
   end
 end # module Springnote</diff>
      <filename>lib/springnote/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,21 @@
 $:.unshift(File.dirname(__FILE__)) unless
   $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
 
+require 'rubygems'
+require 'oauth'
+require 'oauth/consumer'
+
 unless defined?(ActiveResource)
   begin
     $:.unshift(File.dirname(__FILE__) + &quot;/../vendor/activeresource/lib&quot;)
     require 'active_resource'  
   rescue LoadError
-    require 'rubygems'
     require 'activeresource'
   end
 end
 
 # extend activeresource
+require 'exts/request_with_oauth'
 require 'exts/common_parameters'
 require 'exts/active_resource_extension'
 
@@ -24,3 +28,5 @@ require 'springnote/page'
 require 'springnote/attachment'
 require 'springnote/lock'
 require 'springnote/revision'
+
+ActiveResource::Connection.oauth_configuration = Springnote::Base.configuration
\ No newline at end of file</diff>
      <filename>lib/springnote_resources.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>021055e5c2246e6e8b323bcc87869e815065f7fb</id>
    </parent>
  </parents>
  <author>
    <name>Bryan Kang</name>
    <email>deepblue@deepblue.local</email>
  </author>
  <url>http://github.com/deepblue/springnote_resources/commit/f20959b7bd5217a510847e8ffd850e926d8adcf6</url>
  <id>f20959b7bd5217a510847e8ffd850e926d8adcf6</id>
  <committed-date>2008-05-06T05:47:27-07:00</committed-date>
  <authored-date>2008-05-06T05:47:27-07:00</authored-date>
  <message>Support OAuth protocol. Old authententication method will be removed very soon. You should set access_token, access_token_secret, consumer_token, consumer_secret instead of app_key, user_openid, user_key</message>
  <tree>95411a547763266246f3a68bce3ef2518652256c</tree>
  <committer>
    <name>Bryan Kang</name>
    <email>deepblue@deepblue.local</email>
  </committer>
</commit>
