twiauth 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -21,4 +21,5 @@ pkg
21
21
  ## PROJECT::SPECIFIC
22
22
  .idea
23
23
  **/config.yml
24
- access_token.yml
24
+ access_token.yml
25
+ *.pstore
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.0
@@ -1,5 +1,6 @@
1
1
  require 'oauth'
2
2
  require 'twiauth/oauth'
3
+ require 'twiauth/store'
3
4
  require 'yaml'
4
5
 
5
6
  module TwiAuth
@@ -8,10 +8,12 @@ module TwiAuth
8
8
  :authorize_path => '/oauth/authorize'
9
9
  }
10
10
 
11
- ACCESS_TOKEN = 'access_token.yml'
11
+ # key for access token
12
+ ACCESS_TOKEN = 'ACCESS_TOKEN'
12
13
 
13
14
  public
14
15
  def initialize(key, secret)
16
+ @store = TwiAuth::Store.new
15
17
  @oauth_consumer = ::OAuth::Consumer.new(key, secret, TWITTER_OAUTH_SPEC)
16
18
  get_access_token
17
19
  end
@@ -25,9 +27,7 @@ module TwiAuth
25
27
  end
26
28
 
27
29
  def drop_access_token
28
- if ::File.exists?(ACCESS_TOKEN)
29
- ::File.delete(ACCESS_TOKEN)
30
- end
30
+ @store.delete(ACCESS_TOKEN)
31
31
  end
32
32
 
33
33
  private
@@ -56,15 +56,11 @@ module TwiAuth
56
56
  end
57
57
 
58
58
  def pull_access_token
59
- if ::File.exists?(ACCESS_TOKEN)
60
- @access_token = ::YAML.load_file(ACCESS_TOKEN)
61
- end
59
+ @access_token = @store.get(ACCESS_TOKEN)
62
60
  end
63
61
 
64
62
  def persist_access_token
65
- ::File.open(ACCESS_TOKEN, 'w') do |out|
66
- YAML.dump(@access_token, out)
67
- end
63
+ @store.put(ACCESS_TOKEN,@access_token)
68
64
  end
69
65
 
70
66
  end
@@ -0,0 +1,35 @@
1
+ require 'pstore'
2
+
3
+ module TwiAuth
4
+ # A simple key value store using PStore, provided by ruby
5
+ class Store
6
+ # Filename for pstore data file
7
+ DATA_FILE = "data.pstore"
8
+ # :nodoc:
9
+ def initialize
10
+ @store = PStore.new("#{PATH}#{DATA_FILE}")
11
+ end
12
+
13
+ # put a key with value
14
+ def put(key, value)
15
+ @store.transaction do
16
+ @store[key] = value
17
+ end
18
+ end
19
+
20
+ # get the value of the key
21
+ def get(key)
22
+ @store.transaction do
23
+ @value = @store[key]
24
+ end
25
+ @value
26
+ end
27
+
28
+ # delete a key
29
+ def delete(key)
30
+ @store.transaction do
31
+ @store.delete(key)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -11,12 +11,4 @@ end
11
11
 
12
12
  def parse_json(object)
13
13
  JSON.parser.new(object).parse
14
- end
15
-
16
- def assign(key, value, object)
17
- object.instance_variable_set("@#{key}", value)
18
- end
19
-
20
- def pull(key, object)
21
- object.instance_variable_get("@#{key}")
22
14
  end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe TwiAuth::Store do
4
+
5
+ before :all do
6
+ @store = TwiAuth::Store.new
7
+ end
8
+
9
+ it "should store some data" do
10
+ @store.put("test", "test-value")
11
+ end
12
+
13
+ it "should return some data" do
14
+ @store.get("test").should.eql?("test-value")
15
+ end
16
+
17
+ it "should delete some data" do
18
+ @store.delete("test")
19
+ @store.get("test").should be_nil
20
+ end
21
+
22
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{twiauth}
8
- s.version = "0.0.2"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sascha Wessel"]
12
- s.date = %q{2010-09-10}
12
+ s.date = %q{2010-09-12}
13
13
  s.description = %q{simple twitter authentication wrapper}
14
14
  s.email = %q{swessel@gr4yweb.de}
15
15
  s.extra_rdoc_files = [
@@ -23,11 +23,12 @@ Gem::Specification.new do |s|
23
23
  "Rakefile",
24
24
  "VERSION",
25
25
  "lib/twiauth.rb",
26
- "lib/twiauth/handler.rb",
27
26
  "lib/twiauth/oauth.rb",
27
+ "lib/twiauth/store.rb",
28
28
  "spec/config.yml.sample",
29
29
  "spec/oauth_spec.rb",
30
30
  "spec/spec_helper.rb",
31
+ "spec/store_spec.rb",
31
32
  "twiauth.gemspec"
32
33
  ]
33
34
  s.homepage = %q{http://github.com/gr4y/twiauth}
@@ -37,7 +38,8 @@ Gem::Specification.new do |s|
37
38
  s.summary = %q{a very simple twitter authentication wrapper}
38
39
  s.test_files = [
39
40
  "spec/spec_helper.rb",
40
- "spec/oauth_spec.rb"
41
+ "spec/oauth_spec.rb",
42
+ "spec/store_spec.rb"
41
43
  ]
42
44
 
43
45
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
+ - 1
7
8
  - 0
8
- - 2
9
- version: 0.0.2
9
+ version: 0.1.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Sascha Wessel
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-09-10 00:00:00 +02:00
17
+ date: 2010-09-12 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -63,11 +63,12 @@ files:
63
63
  - Rakefile
64
64
  - VERSION
65
65
  - lib/twiauth.rb
66
- - lib/twiauth/handler.rb
67
66
  - lib/twiauth/oauth.rb
67
+ - lib/twiauth/store.rb
68
68
  - spec/config.yml.sample
69
69
  - spec/oauth_spec.rb
70
70
  - spec/spec_helper.rb
71
+ - spec/store_spec.rb
71
72
  - twiauth.gemspec
72
73
  has_rdoc: true
73
74
  homepage: http://github.com/gr4y/twiauth
@@ -104,3 +105,4 @@ summary: a very simple twitter authentication wrapper
104
105
  test_files:
105
106
  - spec/spec_helper.rb
106
107
  - spec/oauth_spec.rb
108
+ - spec/store_spec.rb
@@ -1,6 +0,0 @@
1
- module TwiAuth
2
- module Handler
3
- def get(path) end
4
- def post(path, body = nil) end
5
- end
6
- end