intercession 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,11 @@
1
- === 1.0.0 (2009-02-24)
1
+ === 2.0.0 / 2009-09-28
2
+
3
+ * Different approach. Supports Rails v2.2.2 and v2.3.4.
4
+ * Rails 2.3 compatibility. [W. Andrew Loe III]
5
+ * Switch to standard Hoe structure.
6
+ * Standardizing the Rakefile.
7
+ * Clean up example gist link.
8
+
9
+ === 1.0.0 / 2009-02-24
2
10
 
3
11
  * Birthday!
data/Manifest.txt CHANGED
@@ -3,7 +3,5 @@ Manifest.txt
3
3
  README.rdoc
4
4
  Rakefile
5
5
  install.rb
6
- lib/intercession/lifecycle.rb
7
- lib/intercession/version.rb
8
- rails/init.rb
6
+ lib/intercession.rb
9
7
  session.template
data/README.rdoc CHANGED
@@ -1,12 +1,16 @@
1
1
  = Intercession
2
2
 
3
+ * http://github.com/jbarnette/intercession
4
+
5
+ == Description
6
+
3
7
  Treat your sessions like models, not hashes. Intercession mixes a module into
4
8
  the session on each request, allowing you to nicely encapsulate (and test!)
5
9
  lots of user and session-specific behavior.
6
10
 
7
11
  == Examples
8
12
 
9
- Check out [this gist](http://gist.github.com/44506).
13
+ Check out this gist: http://gist.github.com/44506
10
14
 
11
15
  Unit tests for your session model! Mix it in to a Hash and go to town:
12
16
 
@@ -23,9 +27,11 @@ Unit tests for your session model! Mix it in to a Hash and go to town:
23
27
 
24
28
  == Installation
25
29
 
26
- Intercession works as a plugin or a gem. I've only used it as a plugin
27
- against Rails 2.2, though, so YMMV. If you install it as a plugin,
28
- it'll create you a stub session module in
30
+ I've used Intercession with Rails v2.2.2 and v2.3.4. Anything else
31
+ might give you hives.
32
+
33
+ Intercession works as a plugin or a gem. If you install it as a
34
+ plugin, it'll create you a stub session module in
29
35
  <tt>app/models/transient/session.rb</tt>. If you're using it as a gem,
30
36
  do it yourself. :)
31
37
 
@@ -33,18 +39,20 @@ As a plugin:
33
39
 
34
40
  $ script/plugin install git://github.com/jbarnette/intercession.git
35
41
 
36
- As a gem:
42
+ As a gem (preferred):
37
43
 
38
- $ sudo gem install intercession
44
+ $ gem install intercession
39
45
 
40
- If you're using Intercession as a gem, add it to the gem dependencies
41
- in one of your environment config files:
46
+ If you're using Intercession as a gem, add it to your app's gem
47
+ dependency mechanism.
42
48
 
43
- config.gem "intercession", :lib => "intercession/lifecycle"
49
+ After installation, add <tt>include Intercession</tt> to your
50
+ ApplicationController. To enable Intercession in your tests, call
51
+ <tt>Intercession.test!</tt> in your <tt>test_helper.rb</tt>.
44
52
 
45
53
  == License
46
54
 
47
- Copyright 2009 John Barnette <jbarnette@rubyforge.org>
55
+ Copyright 2009 John Barnette (jbarnette@rubyforge.org)
48
56
 
49
57
  Permission is hereby granted, free of charge, to any person obtaining
50
58
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -1,18 +1,12 @@
1
1
  require "rubygems"
2
2
  require "hoe"
3
3
 
4
- require "./lib/intercession/version.rb"
4
+ Hoe.plugin :doofus, :git
5
5
 
6
- Hoe::SUPPORTED_TEST_FRAMEWORKS[:helper] = "helper"
6
+ Hoe.spec "intercession" do
7
+ developer "John Barnette", "jbarnette@rubyforge.org"
7
8
 
8
- Hoe.new "intercession", Intercession::VERSION do |p|
9
- p.developer "John Barnette", "jbarnette@rubyforge.org"
10
-
11
- p.url = "http://github.com/jbarnette/intercession"
12
- p.history_file = "CHANGELOG.rdoc"
13
- p.readme_file = "README.rdoc"
14
- p.extra_rdoc_files = [p.readme_file]
15
- p.need_tar = false
16
- p.test_globs = %w(test/**/*_test.rb)
17
- p.testlib = :helper
9
+ self.extra_rdoc_files = FileList["*.rdoc"]
10
+ self.history_file = "CHANGELOG.rdoc"
11
+ self.readme_file = "README.rdoc"
18
12
  end
@@ -0,0 +1,24 @@
1
+ module Intercession
2
+
3
+ # Duh.
4
+ VERSION = "2.0.0"
5
+
6
+ def self.included klass
7
+ klass.append_after_filter :intercede_after
8
+
9
+ ks = []
10
+ ks << ActionController::Session::AbstractStore::SessionHash rescue nil
11
+ ks << CGI::Session rescue nil
12
+
13
+ ks.compact.each { |c| c.send :include, Transient::Session }
14
+ end
15
+
16
+ def self.test!
17
+ ActionController::TestSession.send :include, Transient::Session
18
+ end
19
+
20
+ def intercede_after
21
+ # FIX: this obviously won't work with after filters in subclasses.
22
+ session.before_save if session.respond_to? :before_save
23
+ end
24
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intercession
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Barnette
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-24 00:00:00 -08:00
12
+ date: 2009-09-28 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,9 +20,12 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.9.0
23
+ version: 2.3.3
24
24
  version:
25
- description: ""
25
+ description: |-
26
+ Treat your sessions like models, not hashes. Intercession mixes a module into
27
+ the session on each request, allowing you to nicely encapsulate (and test!)
28
+ lots of user and session-specific behavior.
26
29
  email:
27
30
  - jbarnette@rubyforge.org
28
31
  executables: []
@@ -31,6 +34,7 @@ extensions: []
31
34
 
32
35
  extra_rdoc_files:
33
36
  - Manifest.txt
37
+ - CHANGELOG.rdoc
34
38
  - README.rdoc
35
39
  files:
36
40
  - CHANGELOG.rdoc
@@ -38,12 +42,12 @@ files:
38
42
  - README.rdoc
39
43
  - Rakefile
40
44
  - install.rb
41
- - lib/intercession/lifecycle.rb
42
- - lib/intercession/version.rb
43
- - rails/init.rb
45
+ - lib/intercession.rb
44
46
  - session.template
45
47
  has_rdoc: true
46
48
  homepage: http://github.com/jbarnette/intercession
49
+ licenses: []
50
+
47
51
  post_install_message:
48
52
  rdoc_options:
49
53
  - --main
@@ -65,9 +69,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
69
  requirements: []
66
70
 
67
71
  rubyforge_project: intercession
68
- rubygems_version: 1.3.1
72
+ rubygems_version: 1.3.5
69
73
  signing_key:
70
- specification_version: 2
71
- summary: ""
74
+ specification_version: 3
75
+ summary: Treat your sessions like models, not hashes
72
76
  test_files: []
73
77
 
@@ -1,23 +0,0 @@
1
- module Intercession
2
- module Lifecycle
3
- def self.included klass
4
- klass.prepend_before_filter :intercede_before
5
- klass.append_after_filter :intercede_after
6
- end
7
-
8
- def intercede_before
9
- session.extend Transient::Session
10
-
11
- session.controller = self if session.respond_to?(:controller=)
12
- session.request = request if session.respond_to?(:request=)
13
- session.response = response if session.respond_to?(:response=)
14
-
15
- session.after_initialize if session.respond_to? :after_initialize
16
- end
17
-
18
- def intercede_after
19
- # FIXME: this obviously won't work with after filters in subclasses.
20
- session.before_save if session.respond_to? :before_save
21
- end
22
- end
23
- end
@@ -1,3 +0,0 @@
1
- module Intercession
2
- VERSION = "1.0.0"
3
- end
data/rails/init.rb DELETED
@@ -1,2 +0,0 @@
1
- require "application"
2
- ApplicationController.send :include, Intercession::Lifecycle