rubycas-client 2.2.1 → 2.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/Gemfile +13 -0
  2. data/Gemfile.lock +30 -0
  3. data/History.txt +21 -0
  4. data/README.rdoc +24 -20
  5. data/Rakefile +43 -54
  6. data/VERSION +1 -0
  7. data/examples/rails/README +16 -0
  8. data/examples/rails/app/controllers/advanced_example_controller.rb +31 -0
  9. data/examples/rails/app/controllers/application.rb +2 -0
  10. data/examples/rails/app/controllers/simple_example_controller.rb +16 -0
  11. data/examples/rails/app/views/advanced_example/index.html.erb +13 -0
  12. data/examples/rails/app/views/advanced_example/my_account.html.erb +11 -0
  13. data/examples/rails/app/views/simple_example/index.html.erb +6 -0
  14. data/examples/rails/config/boot.rb +109 -0
  15. data/examples/rails/config/environment.rb +39 -0
  16. data/examples/rails/config/environments/development.rb +17 -0
  17. data/examples/rails/config/environments/production.rb +22 -0
  18. data/examples/rails/config/environments/test.rb +22 -0
  19. data/examples/rails/config/initializers/inflections.rb +10 -0
  20. data/examples/rails/config/initializers/mime_types.rb +5 -0
  21. data/examples/rails/config/initializers/new_rails_defaults.rb +17 -0
  22. data/examples/rails/config/routes.rb +4 -0
  23. data/examples/rails/log/development.log +946 -0
  24. data/examples/rails/log/production.log +0 -0
  25. data/examples/rails/log/server.log +0 -0
  26. data/examples/rails/log/test.log +0 -0
  27. data/examples/rails/script/about +4 -0
  28. data/examples/rails/script/console +3 -0
  29. data/examples/rails/script/server +3 -0
  30. data/lib/casclient/client.rb +49 -36
  31. data/lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb +5 -39
  32. data/lib/casclient/frameworks/rails/filter.rb +86 -113
  33. data/lib/casclient/responses.rb +29 -16
  34. data/lib/casclient/tickets/storage/active_record_ticket_store.rb +67 -0
  35. data/lib/casclient/tickets/storage.rb +167 -0
  36. data/lib/casclient/tickets.rb +3 -3
  37. data/lib/casclient.rb +3 -2
  38. data/lib/rubycas-client.rb +1 -5
  39. data/rails_generators/active_record_ticket_store/USAGE +9 -0
  40. data/rails_generators/active_record_ticket_store/active_record_ticket_store_generator.rb +29 -0
  41. data/rails_generators/active_record_ticket_store/templates/README +1 -0
  42. data/rails_generators/active_record_ticket_store/templates/migration.rb +24 -0
  43. data/rubycas-client.gemspec +103 -0
  44. data/test/teststrap.rb +10 -0
  45. data/test/units/casclient/frameworks/rails/filter_test.rb +184 -0
  46. metadata +148 -47
  47. data/Manifest.txt +0 -23
  48. data/examples/merb/README.textile +0 -12
  49. data/examples/merb/Rakefile +0 -35
  50. data/examples/merb/merb.thor +0 -2020
  51. data/examples/merb/merb_auth_cas.rb +0 -67
  52. data/examples/merb/spec/spec_helper.rb +0 -24
  53. data/init.rb +0 -6
  54. data/lib/casclient/frameworks/merb/filter.rb +0 -105
  55. data/lib/casclient/frameworks/merb/strategy.rb +0 -110
  56. data/lib/casclient/version.rb +0 -9
  57. data/setup.rb +0 -1585
@@ -0,0 +1,103 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rubycas-client}
8
+ s.version = "2.3.0.rc1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Matt Zukowski", "Matt Walker", "Matt Campbell"]
12
+ s.date = %q{2011-09-20}
13
+ s.extra_rdoc_files = [
14
+ "LICENSE.txt",
15
+ "README.rdoc"
16
+ ]
17
+ s.files = [
18
+ "CHANGELOG.txt",
19
+ "Gemfile",
20
+ "Gemfile.lock",
21
+ "History.txt",
22
+ "LICENSE.txt",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "examples/rails/README",
27
+ "examples/rails/app/controllers/advanced_example_controller.rb",
28
+ "examples/rails/app/controllers/application.rb",
29
+ "examples/rails/app/controllers/simple_example_controller.rb",
30
+ "examples/rails/app/views/advanced_example/index.html.erb",
31
+ "examples/rails/app/views/advanced_example/my_account.html.erb",
32
+ "examples/rails/app/views/simple_example/index.html.erb",
33
+ "examples/rails/config/boot.rb",
34
+ "examples/rails/config/environment.rb",
35
+ "examples/rails/config/environments/development.rb",
36
+ "examples/rails/config/environments/production.rb",
37
+ "examples/rails/config/environments/test.rb",
38
+ "examples/rails/config/initializers/inflections.rb",
39
+ "examples/rails/config/initializers/mime_types.rb",
40
+ "examples/rails/config/initializers/new_rails_defaults.rb",
41
+ "examples/rails/config/routes.rb",
42
+ "examples/rails/log/development.log",
43
+ "examples/rails/log/production.log",
44
+ "examples/rails/log/server.log",
45
+ "examples/rails/log/test.log",
46
+ "examples/rails/script/about",
47
+ "examples/rails/script/console",
48
+ "examples/rails/script/server",
49
+ "lib/casclient.rb",
50
+ "lib/casclient/client.rb",
51
+ "lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb",
52
+ "lib/casclient/frameworks/rails/filter.rb",
53
+ "lib/casclient/responses.rb",
54
+ "lib/casclient/tickets.rb",
55
+ "lib/casclient/tickets/storage.rb",
56
+ "lib/casclient/tickets/storage/active_record_ticket_store.rb",
57
+ "lib/rubycas-client.rb",
58
+ "rails_generators/active_record_ticket_store/USAGE",
59
+ "rails_generators/active_record_ticket_store/active_record_ticket_store_generator.rb",
60
+ "rails_generators/active_record_ticket_store/templates/README",
61
+ "rails_generators/active_record_ticket_store/templates/migration.rb",
62
+ "rubycas-client.gemspec",
63
+ "test/teststrap.rb",
64
+ "test/units/casclient/frameworks/rails/filter_test.rb"
65
+ ]
66
+ s.homepage = %q{http://github.com/rubycas/rubycas-client}
67
+ s.licenses = ["MIT"]
68
+ s.rdoc_options = ["--main", "README.rdoc"]
69
+ s.require_paths = ["lib"]
70
+ s.rubygems_version = %q{1.6.2}
71
+ s.summary = %q{Client library for the Central Authentication Service (CAS) protocol.}
72
+
73
+ if s.respond_to? :specification_version then
74
+ s.specification_version = 3
75
+
76
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
77
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
78
+ s.add_development_dependency(%q<riot>, [">= 0"])
79
+ s.add_development_dependency(%q<rr>, [">= 0"])
80
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
81
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
82
+ s.add_development_dependency(%q<rcov>, [">= 0"])
83
+ s.add_development_dependency(%q<actionpack>, [">= 0"])
84
+ else
85
+ s.add_dependency(%q<activesupport>, [">= 0"])
86
+ s.add_dependency(%q<riot>, [">= 0"])
87
+ s.add_dependency(%q<rr>, [">= 0"])
88
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
89
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
90
+ s.add_dependency(%q<rcov>, [">= 0"])
91
+ s.add_dependency(%q<actionpack>, [">= 0"])
92
+ end
93
+ else
94
+ s.add_dependency(%q<activesupport>, [">= 0"])
95
+ s.add_dependency(%q<riot>, [">= 0"])
96
+ s.add_dependency(%q<rr>, [">= 0"])
97
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
98
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
99
+ s.add_dependency(%q<rcov>, [">= 0"])
100
+ s.add_dependency(%q<actionpack>, [">= 0"])
101
+ end
102
+ end
103
+
data/test/teststrap.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'casclient'
4
+ require 'riot'
5
+ require 'riot/rr'
6
+ require 'action_pack'
7
+
8
+ RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
9
+
10
+ Riot.reporter = Riot::VerboseStoryReporter
@@ -0,0 +1,184 @@
1
+ require 'teststrap'
2
+ require 'casclient/frameworks/rails/filter'
3
+ require 'action_controller'
4
+
5
+ context CASClient::Frameworks::Rails::Filter do
6
+
7
+ helper(:controller_with_session) do |session, request|
8
+ controller = Object.new
9
+ stub(controller).session {session}
10
+ stub(controller).request {request}
11
+ stub(controller).url_for {"bogusurl"}
12
+ stub(controller).params {{:ticket => "bogusticket", :renew => false}}
13
+ controller
14
+ end
15
+
16
+ setup do
17
+ CASClient::Frameworks::Rails::Filter.configure(
18
+ :cas_base_url => 'http://test.local/',
19
+ :logger => stub!
20
+ )
21
+ end
22
+
23
+ context "fake user without attributes" do
24
+ setup { CASClient::Frameworks::Rails::Filter.fake('tester@test.com') }
25
+ should 'set the session user on #filter' do
26
+ setup { Hash.new }
27
+ CASClient::Frameworks::Rails::Filter.filter(controller_with_session(topic,nil))
28
+ topic
29
+ end.equals :cas_user => 'tester@test.com', :casfilteruser => 'tester@test.com'
30
+ teardown { CASClient::Frameworks::Rails::Filter.fake(nil,nil) }
31
+ end
32
+
33
+ context "fake user with attributes" do
34
+ setup { CASClient::Frameworks::Rails::Filter.fake('tester@test.com', {:test => 'stuff', :this => 'that'}) }
35
+ should 'set the session user and attributes on #filter' do
36
+ setup { Hash.new }
37
+ CASClient::Frameworks::Rails::Filter.filter(controller_with_session(topic,nil))
38
+ topic
39
+ end.equals :cas_user => 'tester@test.com', :casfilteruser => 'tester@test.com', :cas_extra_attributes => {:test => 'stuff', :this => 'that' }
40
+ teardown { CASClient::Frameworks::Rails::Filter.fake(nil,nil) }
41
+ end
42
+
43
+ context "new service ticket successfully" do
44
+ should("return successfully from filter") do
45
+ setup { Hash.new }
46
+ mock_request = ActionController::Request.new({})
47
+ mock(mock_request).post? {true}
48
+
49
+ pgt = CASClient::ProxyGrantingTicket.new(
50
+ "PGT-1308586001r9573FAD5A8C62E134A4AA93273F226BD3F0C3A983DCCCD176",
51
+ "PGTIOU-1308586001r29DC1F852C95930FE6694C1EFC64232A3359798893BC0B")
52
+
53
+ raw_text = "<cas:serviceResponse xmlns:cas=\"http://www.yale.edu/tp/cas\">
54
+ <cas:authenticationSuccess>
55
+ <cas:user>rich.yarger@vibes.com</cas:user>
56
+ <cas:proxyGrantingTicket>PGTIOU-1308586001r29DC1F852C95930FE6694C1EFC64232A3359798893BC0B</cas:proxyGrantingTicket>
57
+ </cas:authenticationSuccess>
58
+ </cas:serviceResponse>"
59
+ response = CASClient::ValidationResponse.new(raw_text)
60
+
61
+ any_instance_of(CASClient::Client, :request_cas_response => response)
62
+ any_instance_of(CASClient::Client, :retrieve_proxy_granting_ticket => pgt)
63
+
64
+ controller = controller_with_session(topic,mock_request)
65
+ CASClient::Frameworks::Rails::Filter.filter(controller)
66
+ end.equals(true)
67
+ end
68
+
69
+ context "new service ticket with invalid service ticket" do
70
+ should("return failure from filter") do
71
+ setup { Hash.new }
72
+ mock_request = ActionController::Request.new({})
73
+ mock(mock_request).post? {true}
74
+
75
+ raw_text = "<cas:serviceResponse xmlns:cas=\"http://www.yale.edu/tp/cas\">
76
+ <cas:authenticationFailure>Some Error Text</cas:authenticationFailure>
77
+ </cas:serviceResponse>"
78
+ response = CASClient::ValidationResponse.new(raw_text)
79
+
80
+ any_instance_of(CASClient::Client, :request_cas_response => response)
81
+ stub(CASClient::Frameworks::Rails::Filter).unauthorized!{"bogusresponse"}
82
+
83
+ controller = controller_with_session(topic,mock_request)
84
+ CASClient::Frameworks::Rails::Filter.filter(controller)
85
+ end.equals(false)
86
+ end
87
+
88
+ context "no new service ticket but with last service ticket" do
89
+ should("return failure from filter") do
90
+ setup { Hash.new }
91
+ mock_request = ActionController::Request.new({})
92
+ mock(mock_request).post? {true}
93
+
94
+ stub(CASClient::Frameworks::Rails::Filter).unauthorized!{"bogusresponse"}
95
+
96
+ controller = controller_with_session(topic,mock_request)
97
+ stub(controller).params {{}}
98
+ CASClient::Frameworks::Rails::Filter.filter(controller)
99
+ end.equals(false)
100
+ end
101
+
102
+ context "no new service ticket sent through gateway, gatewaying off" do
103
+ should("return failure from filter") do
104
+ setup { Hash.new }
105
+ mock_request = ActionController::Request.new({})
106
+ mock(mock_request).post? {true}
107
+
108
+ stub(CASClient::Frameworks::Rails::Filter).unauthorized!{"bogusresponse"}
109
+
110
+ CASClient::Frameworks::Rails::Filter.config[:use_gatewaying] = false
111
+ controller = controller_with_session(topic,mock_request)
112
+ controller.session[:cas_sent_to_gateway] = true
113
+ stub(controller).params {{}}
114
+ CASClient::Frameworks::Rails::Filter.filter(controller)
115
+ end.equals(false)
116
+ end
117
+
118
+ context "no new service ticket sent through gateway, gatewaying on" do
119
+ should("return failure from filter") do
120
+ setup { Hash.new }
121
+ mock_request = ActionController::Request.new({})
122
+ mock(mock_request).post? {true}
123
+
124
+ CASClient::Frameworks::Rails::Filter.config[:use_gatewaying] = true
125
+ controller = controller_with_session(topic,mock_request)
126
+ controller.session[:cas_sent_to_gateway] = true
127
+ stub(controller).params {{}}
128
+ CASClient::Frameworks::Rails::Filter.filter(controller)
129
+ end.equals(true)
130
+ end
131
+
132
+ context "new service ticket with no PGT" do
133
+ should("return failure from filter") do
134
+ setup { Hash.new }
135
+ mock_request = ActionController::Request.new({})
136
+ mock(mock_request).post? {true}
137
+
138
+ raw_text = "<cas:serviceResponse xmlns:cas=\"http://www.yale.edu/tp/cas\">
139
+ <cas:authenticationSuccess>
140
+ <cas:user>rich.yarger@vibes.com</cas:user>
141
+ <cas:proxyGrantingTicket>PGTIOU-1308586001r29DC1F852C95930FE6694C1EFC64232A3359798893BC0B</cas:proxyGrantingTicket>
142
+ </cas:authenticationSuccess>
143
+ </cas:serviceResponse>"
144
+ response = CASClient::ValidationResponse.new(raw_text)
145
+
146
+ any_instance_of(CASClient::Client, :request_cas_response => response)
147
+ any_instance_of(CASClient::Client, :retrieve_proxy_granting_ticket => lambda{raise CASClient::CASException})
148
+
149
+ controller = controller_with_session(topic,mock_request)
150
+ CASClient::Frameworks::Rails::Filter.filter(controller)
151
+ end.raises(CASClient::CASException)
152
+ end
153
+
154
+ context "new service ticket, but cannot connect to CASServer" do
155
+ should("return failure from filter") do
156
+ setup { Hash.new }
157
+ mock_request = ActionController::Request.new({})
158
+ mock(mock_request).post? {true}
159
+
160
+ any_instance_of(CASClient::Client, :request_cas_response => lambda{raise "Some exception"})
161
+
162
+ controller = controller_with_session(topic,mock_request)
163
+ CASClient::Frameworks::Rails::Filter.filter(controller)
164
+ end.raises(RuntimeError)
165
+ end
166
+
167
+ context "reuse service ticket successfully" do
168
+ should("return successfully from filter") do
169
+ setup { Hash.new }
170
+ mock_request = ActionController::Request.new({})
171
+ mock(mock_request).post? {true}
172
+
173
+ mock_client = CASClient::Client.new()
174
+ mock(mock_client).request_cas_response().never
175
+ mock(mock_client).retrieve_proxy_granting_ticket().never
176
+ CASClient::Frameworks::Rails::Filter.send(:class_variable_set, :@@client, mock_client)
177
+
178
+ topic[:cas_last_valid_ticket] = 'bogusticket'
179
+ topic[:cas_last_valid_ticket_service] = 'bogusurl'
180
+ controller = controller_with_session(topic,mock_request)
181
+ CASClient::Frameworks::Rails::Filter.filter(controller)
182
+ end.equals(true)
183
+ end
184
+ end
metadata CHANGED
@@ -1,119 +1,220 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubycas-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ hash: 15424103
5
+ prerelease: 6
6
+ segments:
7
+ - 2
8
+ - 3
9
+ - 0
10
+ - rc
11
+ - 1
12
+ version: 2.3.0.rc1
5
13
  platform: ruby
6
14
  authors:
7
15
  - Matt Zukowski
8
16
  - Matt Walker
17
+ - Matt Campbell
9
18
  autorequire:
10
19
  bindir: bin
11
20
  cert_chain: []
12
21
 
13
- date: 2010-06-24 00:00:00 -04:00
22
+ date: 2011-09-20 00:00:00 -05:00
14
23
  default_executable:
15
24
  dependencies:
16
25
  - !ruby/object:Gem::Dependency
17
- name: activesupport
18
26
  type: :runtime
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
27
+ requirement: &id001 !ruby/object:Gem::Requirement
28
+ none: false
21
29
  requirements:
22
30
  - - ">="
23
31
  - !ruby/object:Gem::Version
32
+ hash: 3
33
+ segments:
34
+ - 0
24
35
  version: "0"
25
- version:
36
+ name: activesupport
37
+ version_requirements: *id001
38
+ prerelease: false
26
39
  - !ruby/object:Gem::Dependency
27
- name: rubyforge
28
40
  type: :development
29
- version_requirement:
30
- version_requirements: !ruby/object:Gem::Requirement
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
31
43
  requirements:
32
44
  - - ">="
33
45
  - !ruby/object:Gem::Version
34
- version: 2.0.3
35
- version:
46
+ hash: 3
47
+ segments:
48
+ - 0
49
+ version: "0"
50
+ name: riot
51
+ version_requirements: *id002
52
+ prerelease: false
53
+ - !ruby/object:Gem::Dependency
54
+ type: :development
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 3
61
+ segments:
62
+ - 0
63
+ version: "0"
64
+ name: rr
65
+ version_requirements: *id003
66
+ prerelease: false
67
+ - !ruby/object:Gem::Dependency
68
+ type: :development
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 23
75
+ segments:
76
+ - 1
77
+ - 0
78
+ - 0
79
+ version: 1.0.0
80
+ name: bundler
81
+ version_requirements: *id004
82
+ prerelease: false
36
83
  - !ruby/object:Gem::Dependency
37
- name: gemcutter
38
84
  type: :development
39
- version_requirement:
40
- version_requirements: !ruby/object:Gem::Requirement
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ hash: 11
91
+ segments:
92
+ - 1
93
+ - 6
94
+ - 2
95
+ version: 1.6.2
96
+ name: jeweler
97
+ version_requirements: *id005
98
+ prerelease: false
99
+ - !ruby/object:Gem::Dependency
100
+ type: :development
101
+ requirement: &id006 !ruby/object:Gem::Requirement
102
+ none: false
41
103
  requirements:
42
104
  - - ">="
43
105
  - !ruby/object:Gem::Version
44
- version: 0.2.1
45
- version:
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ name: rcov
111
+ version_requirements: *id006
112
+ prerelease: false
46
113
  - !ruby/object:Gem::Dependency
47
- name: hoe
48
114
  type: :development
49
- version_requirement:
50
- version_requirements: !ruby/object:Gem::Requirement
115
+ requirement: &id007 !ruby/object:Gem::Requirement
116
+ none: false
51
117
  requirements:
52
118
  - - ">="
53
119
  - !ruby/object:Gem::Version
54
- version: 2.5.0
55
- version:
56
- description: Client library for the Central Authentication Service (CAS) protocol.
57
- email: matt at roughest dot net
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ name: actionpack
125
+ version_requirements: *id007
126
+ prerelease: false
127
+ description:
128
+ email:
58
129
  executables: []
59
130
 
60
131
  extensions: []
61
132
 
62
133
  extra_rdoc_files:
63
- - CHANGELOG.txt
64
- - History.txt
65
134
  - LICENSE.txt
66
- - Manifest.txt
135
+ - README.rdoc
67
136
  files:
68
137
  - CHANGELOG.txt
138
+ - Gemfile
139
+ - Gemfile.lock
69
140
  - History.txt
70
141
  - LICENSE.txt
71
- - Manifest.txt
72
142
  - README.rdoc
73
143
  - Rakefile
74
- - examples/merb/README.textile
75
- - examples/merb/Rakefile
76
- - examples/merb/merb.thor
77
- - examples/merb/merb_auth_cas.rb
78
- - examples/merb/spec/spec_helper.rb
79
- - init.rb
144
+ - VERSION
145
+ - examples/rails/README
146
+ - examples/rails/app/controllers/advanced_example_controller.rb
147
+ - examples/rails/app/controllers/application.rb
148
+ - examples/rails/app/controllers/simple_example_controller.rb
149
+ - examples/rails/app/views/advanced_example/index.html.erb
150
+ - examples/rails/app/views/advanced_example/my_account.html.erb
151
+ - examples/rails/app/views/simple_example/index.html.erb
152
+ - examples/rails/config/boot.rb
153
+ - examples/rails/config/environment.rb
154
+ - examples/rails/config/environments/development.rb
155
+ - examples/rails/config/environments/production.rb
156
+ - examples/rails/config/environments/test.rb
157
+ - examples/rails/config/initializers/inflections.rb
158
+ - examples/rails/config/initializers/mime_types.rb
159
+ - examples/rails/config/initializers/new_rails_defaults.rb
160
+ - examples/rails/config/routes.rb
161
+ - examples/rails/log/development.log
162
+ - examples/rails/log/production.log
163
+ - examples/rails/log/server.log
164
+ - examples/rails/log/test.log
165
+ - examples/rails/script/about
166
+ - examples/rails/script/console
167
+ - examples/rails/script/server
80
168
  - lib/casclient.rb
81
169
  - lib/casclient/client.rb
82
- - lib/casclient/frameworks/merb/filter.rb
83
- - lib/casclient/frameworks/merb/strategy.rb
84
170
  - lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb
85
171
  - lib/casclient/frameworks/rails/filter.rb
86
172
  - lib/casclient/responses.rb
87
173
  - lib/casclient/tickets.rb
88
- - lib/casclient/version.rb
174
+ - lib/casclient/tickets/storage.rb
175
+ - lib/casclient/tickets/storage/active_record_ticket_store.rb
89
176
  - lib/rubycas-client.rb
90
- - setup.rb
177
+ - rails_generators/active_record_ticket_store/USAGE
178
+ - rails_generators/active_record_ticket_store/active_record_ticket_store_generator.rb
179
+ - rails_generators/active_record_ticket_store/templates/README
180
+ - rails_generators/active_record_ticket_store/templates/migration.rb
181
+ - rubycas-client.gemspec
182
+ - test/teststrap.rb
183
+ - test/units/casclient/frameworks/rails/filter_test.rb
91
184
  has_rdoc: true
92
- homepage: http://rubycas-client.rubyforge.org
93
- licenses: []
94
-
185
+ homepage: http://github.com/rubycas/rubycas-client
186
+ licenses:
187
+ - MIT
95
188
  post_install_message:
96
189
  rdoc_options:
97
190
  - --main
98
- - README.txt
191
+ - README.rdoc
99
192
  require_paths:
100
193
  - lib
101
194
  required_ruby_version: !ruby/object:Gem::Requirement
195
+ none: false
102
196
  requirements:
103
197
  - - ">="
104
198
  - !ruby/object:Gem::Version
199
+ hash: 3
200
+ segments:
201
+ - 0
105
202
  version: "0"
106
- version:
107
203
  required_rubygems_version: !ruby/object:Gem::Requirement
204
+ none: false
108
205
  requirements:
109
- - - ">="
206
+ - - ">"
110
207
  - !ruby/object:Gem::Version
111
- version: "0"
112
- version:
208
+ hash: 25
209
+ segments:
210
+ - 1
211
+ - 3
212
+ - 1
213
+ version: 1.3.1
113
214
  requirements: []
114
215
 
115
- rubyforge_project: rubycas-client
116
- rubygems_version: 1.3.5
216
+ rubyforge_project:
217
+ rubygems_version: 1.6.2
117
218
  signing_key:
118
219
  specification_version: 3
119
220
  summary: Client library for the Central Authentication Service (CAS) protocol.