summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Sepic2010-02-20 10:02:23 -0600
committerChris Sepic2010-02-20 10:02:23 -0600
commit506b8e48ac62cd342b43b13054e08053abb09c6e (patch)
treeead54d853237c464d1bb17af96cc932d71ffaccb
parent012604a4c57c79d5349afcb63a40a12b8f0c57ab (diff)
downloadevernote-506b8e48ac62cd342b43b13054e08053abb09c6e.tar.bz2
starting some wrapper classes
-rw-r--r--lib/evernote.rb1
-rw-r--r--lib/evernote/client.rb13
-rw-r--r--spec/evernote/client_spec.rb11
-rw-r--r--spec/evernote/user_store_spec.rb20
-rw-r--r--spec/evernote_spec.rb7
5 files changed, 45 insertions, 7 deletions
diff --git a/lib/evernote.rb b/lib/evernote.rb
index 3f9bae8..e02344b 100644
--- a/lib/evernote.rb
+++ b/lib/evernote.rb
@@ -5,3 +5,4 @@ gen_rb_path = File.expand_path(File.dirname(__FILE__) + "/../vendor/gen-rb")
$LOAD_PATH.unshift gen_rb_path
$LOAD_PATH.unshift "#{gen_rb_path}/evernote/edam"
require "#{gen_rb_path}/evernote"
+require "evernote/client" \ No newline at end of file
diff --git a/lib/evernote/client.rb b/lib/evernote/client.rb
new file mode 100644
index 0000000..1141087
--- /dev/null
+++ b/lib/evernote/client.rb
@@ -0,0 +1,13 @@
+module Evernote
+ class Client
+
+ THRIFT_DEFAULTS = {
+ :transport => Thrift::HTTPClientTransport
+ }.freeze
+
+ def initialize(klass, url, thrift_client_options = {})
+ thrift_opts = THRIFT_DEFAULTS.merge(thrift_client_options)
+ ThriftClient.new(klass, url, thrift_opts)
+ end
+ end
+end \ No newline at end of file
diff --git a/spec/evernote/client_spec.rb b/spec/evernote/client_spec.rb
new file mode 100644
index 0000000..5d3d08c
--- /dev/null
+++ b/spec/evernote/client_spec.rb
@@ -0,0 +1,11 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe "Evernote::Client" do
+ it "initializes a ThriftClient instance that uses HTTP transport" do
+ klass = mock("SomeInternalEvernoteClass")
+ opts = { :transport => Thrift::HTTPClientTransport }
+ ThriftClient.should_receive(:new).with(klass, "https://www.example.com", opts)
+
+ Evernote::Client.new(klass, "https://www.example.com")
+ end
+end
diff --git a/spec/evernote/user_store_spec.rb b/spec/evernote/user_store_spec.rb
new file mode 100644
index 0000000..fab5757
--- /dev/null
+++ b/spec/evernote/user_store_spec.rb
@@ -0,0 +1,20 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe "Evernote::UserStore" do
+ xit "initializes an Evernote::Client" do
+ Evernote::Client.should_receive(:new).with(Evernote::EDAM::UserStore::UserStore::Client, "https://sandbox.evernote.com/edam/user")
+
+ Evernote::UserStore.new("https://sandbox.evernote.com/edam/user")
+ end
+
+ xit "raises an exception if no consumer key is set" do
+ Evernote::UserStore.new("https://sandbox.evernote.com/edam/user", {})
+ end
+
+ # opts = {
+ # :consumer_key => "mykey",
+ # :consumer_secret => "abcdefg123456",
+ # :username => "username",
+ # :password => "password"
+ # }
+end
diff --git a/spec/evernote_spec.rb b/spec/evernote_spec.rb
deleted file mode 100644
index b51ed19..0000000
--- a/spec/evernote_spec.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
-
-describe "Evernote" do
- it "fails" do
- fail "hey buddy, you should probably rename this file and start specing for real"
- end
-end