sixarm_ruby_sign_out 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0c39431191e3abecf200ff0d967ad399540f7375
4
+ data.tar.gz: 9e301d75b1cfd9e6822e8f743aa7f5dae7a52eb7
5
+ SHA512:
6
+ metadata.gz: 61394aa86809472115313c5599abd1611d742ab861525fbbf4b531da6d26aa6b7184ff30506b4060c391f59a0be0a41ca996fe1f8b18e698650900933d1dd806
7
+ data.tar.gz: 116a21398b9d4416c7f94a43c0623211686ab75946de0c259e4cd1927cc2408905f539a9ed7d55649b7b6454d0fb0e8b4a738cc0b6d867e47ed2aa915495cb82
checksums.yaml.gz.sig ADDED
Binary file
data/.gemtest ADDED
File without changes
data/CHANGES.md ADDED
@@ -0,0 +1,4 @@
1
+ # Changes
2
+
3
+ * 2015-07-07 1.1.5 Update gemspec to use file manifest
4
+ * 2012-03-14 1.1.4 Update docs, tests
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,28 @@
1
+ # Contributing
2
+
3
+ Thank you for contributing!
4
+
5
+ If you would like to contribute a donation, an easy way is to use PayPal to sixarm@sixarm.com.
6
+
7
+ If you would like to contribute help, the next section is for you.
8
+
9
+
10
+ ## Contributing to the source
11
+
12
+ We love pull requests for improvments to the source code and documentation.
13
+
14
+ There are three easy steps:
15
+
16
+ 1. Fork the repo.
17
+
18
+ * Before you do any work please run our existing tests to make sure the code runs cleanly.
19
+
20
+ 2. Work as you like.
21
+
22
+ * Please create tests. This helps us know that all your code runs cleanly.
23
+
24
+ 3. Push to your fork and submit a pull request.
25
+
26
+ * We'll take a look as soon as we can; this is typically within a business day.
27
+
28
+ Thank you again!
data/LICENSE.md ADDED
@@ -0,0 +1,28 @@
1
+ # License
2
+
3
+ You may choose any of these open source licenses:
4
+
5
+ * Apache License
6
+ * BSD License
7
+ * CreativeCommons License, Non-commercial Share Alike
8
+ * GNU Affero General Public License (AGPL)
9
+ * GNU General Public License Version (GPL)
10
+ * GNU Lesser General Public License (LGPL)
11
+ * MIT License
12
+ * Perl Artistic License
13
+ * Ruby License
14
+
15
+ The software is provided "as is", without warranty of any kind,
16
+ express or implied, including but not limited to the warranties of
17
+ merchantability, fitness for a particular purpose and noninfringement.
18
+
19
+ In no event shall the authors or copyright holders be liable for any
20
+ claim, damages or other liability, whether in an action of contract,
21
+ tort or otherwise, arising from, out of or in connection with the
22
+ software or the use or other dealings in the software.
23
+
24
+ This license is for the included software that is created by SixArm.
25
+ Some of the included software may have its own licenses, copyrights,
26
+ authors, etc. and these may take precedence over the SixArm license.
27
+
28
+ Copyright (c) Joel Parker Henderson
data/README.md ADDED
@@ -0,0 +1,91 @@
1
+ # SixArm.com » Ruby » <br> SignOut interface for typical Rails user sign out
2
+
3
+ [![Code Climate](https://codeclimate.com/github/SixArm/sixarm_ruby_sign_out.png)](https://codeclimate.com/github/SixArm/sixarm_ruby_sign_out)
4
+ [![Build Status](https://travis-ci.org/SixArm/sixarm_ruby_sign_out.png)](https://travis-ci.org/SixArm/sixarm_ruby_sign_out)
5
+
6
+ * Doc: <http://sixarm.com/sixarm_ruby_sign_out/doc>
7
+ * Gem: <http://rubygems.org/gems/sixarm_ruby_sign_out>
8
+ * Repo: <http://github.com/sixarm/sixarm_ruby_sign_out>
9
+ * Email: Joel Parker Henderson, <joel@sixarm.com>
10
+
11
+
12
+ ## Introduction
13
+
14
+ Sign Out simple abstract framework.
15
+
16
+ You can include this module in your application controller,
17
+ then your controller can define any of these concrete methods.
18
+
19
+ For docs go to <http://sixarm.com/sixarm_ruby_sign_out/doc>
20
+
21
+ Want to help? We're happy to get pull requests.
22
+
23
+
24
+ ## Install quickstart
25
+
26
+ Install:
27
+
28
+ gem install sixarm_ruby_sign_out
29
+
30
+ Bundler:
31
+
32
+ gem "sixarm_ruby_sign_out", ">=1.1.5", "<2"
33
+
34
+ Require:
35
+
36
+ require "sixarm_ruby_sign_out"
37
+
38
+
39
+ ## Install with security (optional)
40
+
41
+ To enable high security for all our gems:
42
+
43
+ wget http://sixarm.com/sixarm.pem
44
+ gem cert --add sixarm.pem
45
+ gem sources --add http://sixarm.com
46
+
47
+ To install with high security:
48
+
49
+ gem install sixarm_ruby_sign_out --trust-policy HighSecurity
50
+
51
+
52
+ ## Details
53
+
54
+ This provides one top-level method:
55
+
56
+ sign_out(options=nil) => true for success, false for failure
57
+
58
+ The top level method will call mid-level methods
59
+ that you will define in your own controller.
60
+
61
+ sign_out calls:
62
+
63
+ sign_out_attempt(options=nil), e.g. unset the current user
64
+ sign_out_success(options=nil), e.g. redirect to a goodbye page
65
+ sign_out_failure(options=nil), e.g. flash warning help message
66
+
67
+
68
+ ## AuthLogic Example
69
+
70
+ AuthLogic provides this example:
71
+
72
+ def destroy
73
+ current_user_session.destroy
74
+ redirect_to new_user_session_url
75
+ end
76
+
77
+ The same example written using Sign Out to provide better structure and security:
78
+
79
+ def sign_out_attempt
80
+ current_user_session.destroy
81
+ current_user_session.frozen? or raise SecurityError, "Problem with sign out ... ", caller
82
+ end
83
+
84
+ def sign_out_success
85
+ redirect_to new_user_session_url
86
+ end
87
+
88
+ def sign_out_failure
89
+ # The AuthLogic example doesn't handle this case unfortunately;
90
+ # we should handle it because it indicates something is amiss.
91
+ end
data/Rakefile ADDED
@@ -0,0 +1,34 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "rake"
3
+ require "rake/testtask"
4
+
5
+ Rake::TestTask.new(:test) do |t|
6
+ t.libs << 'lib' << 'test'
7
+ t.pattern = 'test/*.rb'
8
+ end
9
+ task :default => [:test]
10
+ task :default => [:test]
11
+ task :default => [:test]
12
+ task :default => [:test]
13
+ task :default => [:test]
14
+ task :default => [:test]
15
+ task :default => [:test]
16
+ task :default => [:test]
17
+ task :default => [:test]
18
+ task :default => [:test]
19
+ task :default => [:test]
20
+ task :default => [:test]
21
+ task :default => [:test]
22
+ task :default => [:test]
23
+ task :default => [:test]
24
+ task :default => [:test]
25
+ task :default => [:test]
26
+ task :default => [:test]
27
+ task :default => [:test]
28
+ task :default => [:test]
29
+ task :default => [:test]
30
+ task :default => [:test]
31
+ task :default => [:test]
32
+ task :default => [:test]
33
+ task :default => [:test]
34
+ task :default => [:test]
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.1.5
@@ -0,0 +1,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin rdoc
3
+ Please see README
4
+ =end
5
+
6
+
7
+ module SignOut
8
+
9
+
10
+ # The sign_out method calls:
11
+ # - sign_out_attempt
12
+ # - sign_out_success (if sign_out_attempt returns true)
13
+ # - sign_out_failure (if sign_out_attempt returns false or raises a SecurityError)
14
+
15
+ def sign_out(options=nil)
16
+ begin
17
+ sign_out_attempt(options) or raise SecurityError
18
+ sign_out_success(options)
19
+ return true
20
+ rescue SecurityError
21
+ sign_out_failure(options)
22
+ return false
23
+ end
24
+ end
25
+
26
+
27
+ # The sign_out method calls this first.
28
+ #
29
+ # You override this method to e.g.:
30
+ # - prompt the user to save any of his open work
31
+ # - clear the current user variable
32
+ # - clear the current user id in the session
33
+ #
34
+ # If this method succeeds, then control goes to sign_out_success.
35
+ #
36
+ # If this method raises an error, then control goes to sign_out_failure.
37
+
38
+ def sign_out_attempt(options=nil)
39
+ end
40
+
41
+
42
+ # The sign_out method calls this second,
43
+ # iff sign_out_attempt succeeds.
44
+ #
45
+ # You override this method to e.g.:
46
+ # - show the user a flash notice message saying "Goodbye..."
47
+ # - redirect to the application home page
48
+
49
+ def sign_out_success(options=nil)
50
+ end
51
+
52
+
53
+ # The sign_out method calls this second,
54
+ # iff sign_out_attempt raises an exception.
55
+ #
56
+ # You override this method to e.g.:
57
+ # - show the user a flash warning message saying "Problem..."
58
+ # - redirect to a help page with a way to report the problem
59
+
60
+ def sign_out_failure(options=nil)
61
+ end
62
+
63
+ end
@@ -0,0 +1,50 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "minitest/autorun"
3
+ require "simplecov"
4
+ SimpleCov.start
5
+ require "sixarm_ruby_sign_out"
6
+
7
+ class SignOutTest < Minitest::Test
8
+
9
+ include SignOut
10
+
11
+ RIGHT=:foo
12
+ WRONG=:bar
13
+
14
+ def setup
15
+ @sign_out_attempt_seen=false
16
+ @sign_out_success_seen=false
17
+ @sign_out_failure_seen=false
18
+ end
19
+
20
+ def test_sign_out_right
21
+ x=sign_out(RIGHT)
22
+ assert_equal(true,x,"sign_out x:#{x}")
23
+ assert( @sign_out_attempt_seen,"sign_out_attempt_seen")
24
+ assert( @sign_out_success_seen,"sign_out_success_seen")
25
+ assert(!@sign_out_failure_seen,"sign_out_failure_seen")
26
+ end
27
+
28
+ def test_sign_out_wrong
29
+ x=sign_out(WRONG)
30
+ assert_equal(false,x,"sign_out x:#{x}")
31
+ assert( @sign_out_attempt_seen,"sign_out_attempt_seen")
32
+ assert(!@sign_out_success_seen,"sign_out_success_seen")
33
+ assert( @sign_out_failure_seen,"sign_out_failure_seen")
34
+ end
35
+
36
+ def sign_out_attempt(options=nil)
37
+ @sign_out_attempt_seen=true
38
+ if options==WRONG then raise SecurityError end
39
+ return options==RIGHT
40
+ end
41
+
42
+ def sign_out_success(options=nil)
43
+ @sign_out_success_seen=true
44
+ end
45
+
46
+ def sign_out_failure(options=nil)
47
+ @sign_out_failure_seen=true
48
+ end
49
+
50
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,93 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sixarm_ruby_sign_out
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.5
5
+ platform: ruby
6
+ authors:
7
+ - SixArm
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ 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
45
+ n+ES/gQPOnvmVkLDGw==
46
+ -----END CERTIFICATE-----
47
+ date: 2015-07-09 00:00:00.000000000 Z
48
+ dependencies: []
49
+ description: Sign Out abstraction for a typical web app user
50
+ email: sixarm@sixarm.com
51
+ executables: []
52
+ extensions: []
53
+ extra_rdoc_files: []
54
+ files:
55
+ - ".gemtest"
56
+ - CHANGES.md
57
+ - CONTRIBUTING.md
58
+ - LICENSE.md
59
+ - README.md
60
+ - Rakefile
61
+ - VERSION
62
+ - lib/sixarm_ruby_sign_out.rb
63
+ - test/sixarm_ruby_sign_out_test.rb
64
+ homepage: http://sixarm.com/
65
+ licenses:
66
+ - BSD
67
+ - GPL
68
+ - MIT
69
+ - PAL
70
+ - Various
71
+ metadata: {}
72
+ post_install_message:
73
+ rdoc_options: []
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ requirements: []
87
+ rubyforge_project:
88
+ rubygems_version: 2.4.8
89
+ signing_key:
90
+ specification_version: 4
91
+ summary: SixArm.com » Ruby » Sign Out
92
+ test_files:
93
+ - test/sixarm_ruby_sign_out_test.rb
metadata.gz.sig ADDED
Binary file