openid_couchdb_store 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile ADDED
@@ -0,0 +1,16 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in openid_couchdb_store.gemspec
4
+ gemspec
5
+
6
+ # Extra gems for use in the config.ru demo
7
+ group :demo do
8
+ gem "easy-rack-open-id"
9
+ gem 'shotgun'
10
+
11
+ if RUBY_VERSION =~ /^1\.9/
12
+ gem 'ruby-debug19', :require => 'ruby-debug'
13
+ else
14
+ gem 'ruby-debug'
15
+ end
16
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,99 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ openid_couchdb_store (0.0.4)
5
+ couchrest (~> 1.0)
6
+ couchrest_model (~> 1.0)
7
+ ruby-openid (~> 2.1)
8
+
9
+ GEM
10
+ remote: http://rubygems.org/
11
+ specs:
12
+ abstract (1.0.0)
13
+ actionpack (3.0.7)
14
+ activemodel (= 3.0.7)
15
+ activesupport (= 3.0.7)
16
+ builder (~> 2.1.2)
17
+ erubis (~> 2.6.6)
18
+ i18n (~> 0.5.0)
19
+ rack (~> 1.2.1)
20
+ rack-mount (~> 0.6.14)
21
+ rack-test (~> 0.5.7)
22
+ tzinfo (~> 0.3.23)
23
+ activemodel (3.0.7)
24
+ activesupport (= 3.0.7)
25
+ builder (~> 2.1.2)
26
+ i18n (~> 0.5.0)
27
+ activesupport (3.0.7)
28
+ archive-tar-minitar (0.5.2)
29
+ builder (2.1.2)
30
+ columnize (0.3.2)
31
+ couchrest (1.0.2)
32
+ json (~> 1.5.1)
33
+ mime-types (~> 1.15)
34
+ rest-client (~> 1.6.1)
35
+ couchrest_model (1.0.0)
36
+ activemodel (~> 3.0.0)
37
+ couchrest (~> 1.0.1)
38
+ mime-types (~> 1.15)
39
+ railties (~> 3.0.0)
40
+ rspec (>= 2.0.0)
41
+ tzinfo (~> 0.3.22)
42
+ diff-lcs (1.1.2)
43
+ easy-rack-open-id (0.3.1)
44
+ rack-openid (~> 1.3)
45
+ erubis (2.6.6)
46
+ abstract (>= 1.0.0)
47
+ i18n (0.5.0)
48
+ json (1.5.1)
49
+ linecache19 (0.5.12)
50
+ ruby_core_source (>= 0.1.4)
51
+ mime-types (1.16)
52
+ rack (1.2.3)
53
+ rack-mount (0.6.14)
54
+ rack (>= 1.0.0)
55
+ rack-openid (1.3.1)
56
+ rack (>= 1.1.0)
57
+ ruby-openid (>= 2.1.8)
58
+ rack-test (0.5.7)
59
+ rack (>= 1.0)
60
+ railties (3.0.7)
61
+ actionpack (= 3.0.7)
62
+ activesupport (= 3.0.7)
63
+ rake (>= 0.8.7)
64
+ thor (~> 0.14.4)
65
+ rake (0.9.1)
66
+ rest-client (1.6.1)
67
+ mime-types (>= 1.16)
68
+ rspec (2.6.0)
69
+ rspec-core (~> 2.6.0)
70
+ rspec-expectations (~> 2.6.0)
71
+ rspec-mocks (~> 2.6.0)
72
+ rspec-core (2.6.3)
73
+ rspec-expectations (2.6.0)
74
+ diff-lcs (~> 1.1.2)
75
+ rspec-mocks (2.6.0)
76
+ ruby-debug-base19 (0.11.25)
77
+ columnize (>= 0.3.1)
78
+ linecache19 (>= 0.5.11)
79
+ ruby_core_source (>= 0.1.4)
80
+ ruby-debug19 (0.11.6)
81
+ columnize (>= 0.3.1)
82
+ linecache19 (>= 0.5.11)
83
+ ruby-debug-base19 (>= 0.11.19)
84
+ ruby-openid (2.1.8)
85
+ ruby_core_source (0.1.5)
86
+ archive-tar-minitar (>= 0.5.2)
87
+ shotgun (0.9)
88
+ rack (>= 1.0)
89
+ thor (0.14.6)
90
+ tzinfo (0.3.27)
91
+
92
+ PLATFORMS
93
+ ruby
94
+
95
+ DEPENDENCIES
96
+ easy-rack-open-id
97
+ openid_couchdb_store!
98
+ ruby-debug19
99
+ shotgun
data/README.rdoc CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  A store for OpenID using CouchDB. Right now depends on CouchRest, will try to to kick that dependency later.
4
4
 
5
+ == Install
6
+
7
+ gem install openid_couchdb_store
8
+
9
+ db = Mongo::Connection.new('localhost').db('testorama')
10
+ db.authenticate('foo','bar')
11
+ OpenidCouchdbStore::Store.new(db)
12
+
13
+ == Demo
14
+
15
+ ```
16
+ git clone git://github.com/samsm/openid_couchdb_store.git
17
+ cd openid_couchdb_store
18
+ bundle install
19
+ # have couchdb running
20
+ shotgun
21
+ open http://localhost:9292/
22
+ ```
23
+
24
+ Shotgun reloads the application each request, providing a nice sanity check. OpenID library can normally do nonce/association storage in memory, so shotgun is a little extra proof that it's really working.
25
+
26
+
5
27
  == Copyright
6
28
 
7
29
  Copyright (c) 2010 Sam Schenkman-Moore. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,54 +1,2 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "openid_couchdb_store"
8
- gem.summary = %Q{OpenID store using CouchDB}
9
- gem.description = %Q{OpenID store using CouchDB. Right now using Couchrest, will make more flexible later, hopefully.}
10
- gem.email = "samsm@samsm.com"
11
- gem.homepage = "http://github.com/samsm/openid_couchdb_store"
12
- gem.authors = ["Sam Schenkman-Moore"]
13
- gem.add_development_dependency "couchrest", ">= 1.0.0"
14
- gem.add_development_dependency "couchrest_extended_document", ">= 1.0.0"
15
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
- end
17
- Jeweler::GemcutterTasks.new
18
- rescue LoadError
19
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
20
- end
21
-
22
- require 'rake/testtask'
23
- Rake::TestTask.new(:test) do |test|
24
- test.libs << 'lib' << 'test'
25
- test.pattern = 'test/**/test_*.rb'
26
- test.verbose = true
27
- end
28
-
29
- begin
30
- require 'rcov/rcovtask'
31
- Rcov::RcovTask.new do |test|
32
- test.libs << 'test'
33
- test.pattern = 'test/**/test_*.rb'
34
- test.verbose = true
35
- end
36
- rescue LoadError
37
- task :rcov do
38
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
39
- end
40
- end
41
-
42
- task :test => :check_dependencies
43
-
44
- task :default => :test
45
-
46
- require 'rake/rdoctask'
47
- Rake::RDocTask.new do |rdoc|
48
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
49
-
50
- rdoc.rdoc_dir = 'rdoc'
51
- rdoc.title = "openid_couchdb_store #{version}"
52
- rdoc.rdoc_files.include('README*')
53
- rdoc.rdoc_files.include('lib/**/*.rb')
54
- end
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
data/config.ru ADDED
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'easy-rack-open-id'
3
+ require "#{File.dirname(__FILE__)}/lib/openid_couchdb_store"
4
+
5
+ class HelloWorld
6
+ def call(env)
7
+ [200, {"Content-Type" => "text/plain"}, ["Made it through!"]]
8
+ end
9
+ end
10
+
11
+ use Rack::Session::Cookie
12
+ use Rack::OpenID, OpenidCouchdbStore::Store.new(CouchRest.database!("http://127.0.0.1:5984/openid_store_demo"))
13
+ use EasyRackOpenId::Server, :allowed_identifiers => ['http://samsm.com/']
14
+
15
+ run HelloWorld.new
@@ -0,0 +1,3 @@
1
+ module OpenidCouchdbStore
2
+ VERSION = "0.0.4"
3
+ end
@@ -2,17 +2,18 @@
2
2
  require 'openid'
3
3
  require 'openid/store/interface'
4
4
  require "couchrest"
5
- require "couchrest_extended_document"
5
+ require "couchrest_model"
6
+ require "#{File.dirname(__FILE__)}/openid_couchdb_store/version"
6
7
 
7
8
  module OpenidCouchdbStore
8
9
 
9
- class Association < CouchRest::ExtendedDocument
10
+ class Association < CouchRest::Model::Base
10
11
 
11
- set_callback :save, :before, :generate_expires_at
12
+ before_save :generate_expires_at
12
13
 
13
- view_by :server_url
14
- view_by :expires_at
15
- view_by :server_url_plus_handle,
14
+ view_by 'server_url'
15
+ view_by 'expires_at'
16
+ view_by 'server_url_plus_handle',
16
17
  :map =>
17
18
  "function(doc) {
18
19
  if (doc['couchrest-type'] == 'OpenidCouchdbStore::Association' && doc['handle']) {
@@ -33,7 +34,7 @@ module OpenidCouchdbStore
33
34
 
34
35
  end
35
36
 
36
- class Nonce < CouchRest::ExtendedDocument
37
+ class Nonce < CouchRest::Model::Base
37
38
  view_by :timestamp
38
39
  view_by :server_url_salt_timestamp,
39
40
  :map =>
@@ -91,7 +92,7 @@ module OpenidCouchdbStore
91
92
 
92
93
  def get_association(server_url, handle=nil)
93
94
  assoc_records = if (handle.nil? or handle.empty?)
94
- Association.by_server_url(server_url)
95
+ Association.by_server_url(:key => server_url)
95
96
  else
96
97
  Association.by_server_url_and_handle(server_url,handle)
97
98
  end
@@ -1,57 +1,26 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "openid_couchdb_store/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{openid_couchdb_store}
8
- s.version = "0.0.3"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Sam Schenkman-Moore"]
12
- s.date = %q{2010-10-01}
6
+ s.name = "openid_couchdb_store"
7
+ s.version = OpenidCouchdbStore::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Sam Schenkman-Moore"]
10
+ s.email = ["samsm@samsm.com"]
11
+ s.homepage = "http://github.com/samsm/openid_couchdb_store"
12
+ s.summary = %q{OpenID store using CouchDB}
13
13
  s.description = %q{OpenID store using CouchDB. Right now using Couchrest, will make more flexible later, hopefully.}
14
- s.email = %q{samsm@samsm.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/openid_couchdb_store.rb",
27
- "openid_couchdb_store.gemspec",
28
- "test/helper.rb",
29
- "test/test_openid_couchdb_store.rb"
30
- ]
31
- s.homepage = %q{http://github.com/samsm/openid_couchdb_store}
32
- s.rdoc_options = ["--charset=UTF-8"]
14
+
15
+ s.rubyforge_project = "openid_couchdb_store"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
33
20
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.7}
35
- s.summary = %q{OpenID store using CouchDB}
36
- s.test_files = [
37
- "test/helper.rb",
38
- "test/test_openid_couchdb_store.rb"
39
- ]
40
21
 
41
- if s.respond_to? :specification_version then
42
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
- s.specification_version = 3
22
+ s.add_dependency 'couchrest', ['~> 1.0']
23
+ s.add_dependency 'couchrest_model', ['~> 1.0']
24
+ s.add_dependency 'ruby-openid', ['~> 2.1']
44
25
 
45
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
- s.add_development_dependency(%q<couchrest>, [">= 1.0.0"])
47
- s.add_development_dependency(%q<couchrest_extended_document>, [">= 1.0.0"])
48
- else
49
- s.add_dependency(%q<couchrest>, [">= 1.0.0"])
50
- s.add_dependency(%q<couchrest_extended_document>, [">= 1.0.0"])
51
- end
52
- else
53
- s.add_dependency(%q<couchrest>, [">= 1.0.0"])
54
- s.add_dependency(%q<couchrest_extended_document>, [">= 1.0.0"])
55
- end
56
26
  end
57
-
data/test/helper.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
- require 'ruby-debug'
4
3
 
5
4
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require File.expand_path(File.dirname(__FILE__)) + "/helper"
2
2
 
3
3
  class TestOpenidCouchdbStore < Test::Unit::TestCase
4
4
  def test_store_and_retrieve_association
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openid_couchdb_store
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 3
10
- version: 0.0.3
4
+ prerelease:
5
+ version: 0.0.4
11
6
  platform: ruby
12
7
  authors:
13
8
  - Sam Schenkman-Moore
@@ -15,8 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2010-10-01 00:00:00 -04:00
19
- default_executable:
13
+ date: 2011-06-02 00:00:00 Z
20
14
  dependencies:
21
15
  - !ruby/object:Gem::Dependency
22
16
  name: couchrest
@@ -24,59 +18,61 @@ dependencies:
24
18
  requirement: &id001 !ruby/object:Gem::Requirement
25
19
  none: false
26
20
  requirements:
27
- - - ">="
21
+ - - ~>
28
22
  - !ruby/object:Gem::Version
29
- hash: 23
30
- segments:
31
- - 1
32
- - 0
33
- - 0
34
- version: 1.0.0
35
- type: :development
23
+ version: "1.0"
24
+ type: :runtime
36
25
  version_requirements: *id001
37
26
  - !ruby/object:Gem::Dependency
38
- name: couchrest_extended_document
27
+ name: couchrest_model
39
28
  prerelease: false
40
29
  requirement: &id002 !ruby/object:Gem::Requirement
41
30
  none: false
42
31
  requirements:
43
- - - ">="
32
+ - - ~>
44
33
  - !ruby/object:Gem::Version
45
- hash: 23
46
- segments:
47
- - 1
48
- - 0
49
- - 0
50
- version: 1.0.0
51
- type: :development
34
+ version: "1.0"
35
+ type: :runtime
52
36
  version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: ruby-openid
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: "2.1"
46
+ type: :runtime
47
+ version_requirements: *id003
53
48
  description: OpenID store using CouchDB. Right now using Couchrest, will make more flexible later, hopefully.
54
- email: samsm@samsm.com
49
+ email:
50
+ - samsm@samsm.com
55
51
  executables: []
56
52
 
57
53
  extensions: []
58
54
 
59
- extra_rdoc_files:
60
- - LICENSE
61
- - README.rdoc
55
+ extra_rdoc_files: []
56
+
62
57
  files:
63
- - .document
64
58
  - .gitignore
59
+ - Gemfile
60
+ - Gemfile.lock
65
61
  - LICENSE
66
62
  - README.rdoc
67
63
  - Rakefile
68
- - VERSION
64
+ - config.ru
69
65
  - lib/openid_couchdb_store.rb
66
+ - lib/openid_couchdb_store/version.rb
70
67
  - openid_couchdb_store.gemspec
71
68
  - test/helper.rb
72
69
  - test/test_openid_couchdb_store.rb
73
- has_rdoc: true
74
70
  homepage: http://github.com/samsm/openid_couchdb_store
75
71
  licenses: []
76
72
 
77
73
  post_install_message:
78
- rdoc_options:
79
- - --charset=UTF-8
74
+ rdoc_options: []
75
+
80
76
  require_paths:
81
77
  - lib
82
78
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -84,23 +80,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
80
  requirements:
85
81
  - - ">="
86
82
  - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
83
  version: "0"
91
84
  required_rubygems_version: !ruby/object:Gem::Requirement
92
85
  none: false
93
86
  requirements:
94
87
  - - ">="
95
88
  - !ruby/object:Gem::Version
96
- hash: 3
97
- segments:
98
- - 0
99
89
  version: "0"
100
90
  requirements: []
101
91
 
102
- rubyforge_project:
103
- rubygems_version: 1.3.7
92
+ rubyforge_project: openid_couchdb_store
93
+ rubygems_version: 1.8.5
104
94
  signing_key:
105
95
  specification_version: 3
106
96
  summary: OpenID store using CouchDB
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.3