simple_workflow 1.0.9 → 1.0.10
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +4 -4
- data/lib/simple_workflow/controller.rb +19 -7
- data/lib/simple_workflow/version.rb +1 -1
- metadata +2 -11
- data/simple_workflow-1.0.1.gem +0 -0
- data/simple_workflow-1.0.2.gem +0 -0
- data/simple_workflow-1.0.3.gem +0 -0
- data/simple_workflow-1.0.4.gem +0 -0
- data/simple_workflow-1.0.5.gem +0 -0
- data/simple_workflow-1.0.6.gem +0 -0
- data/simple_workflow-1.0.7.gem +0 -0
- data/simple_workflow-1.0.8.gem +0 -0
- data/simple_workflow.gemspec +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e2759f6626743e3c822302936fe1472688f5cd9
|
4
|
+
data.tar.gz: cabcd24059354e72cfa0b99e74f1314182248771
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9c5e65679ebcb042b9ab5817351f2fe483410994ef48ab55fa040ca088a2b1cbe1ccda8eb3c82cd5cb952087676ad9ff91aaf896256c0baed8a3324e0373dd0
|
7
|
+
data.tar.gz: ba297eb8049ca8bb0144e6a81ed9fe191c042c6b01631a6b1ab3c2992ed1f0a608a67264133183e31d0202601a82a557d5363748bb4aeb73c3c9d274286fe60d
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
simple_workflow (1.0.
|
4
|
+
simple_workflow (1.0.10)
|
5
5
|
rails (~> 4.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -49,19 +49,19 @@ GEM
|
|
49
49
|
activesupport (>= 4.1.0)
|
50
50
|
hike (1.2.3)
|
51
51
|
i18n (0.7.0)
|
52
|
-
json (1.8.
|
52
|
+
json (1.8.2)
|
53
53
|
loofah (2.0.1)
|
54
54
|
nokogiri (>= 1.5.9)
|
55
55
|
mail (2.6.3)
|
56
56
|
mime-types (>= 1.16, < 3)
|
57
57
|
mime-types (2.4.3)
|
58
58
|
mini_portile (0.6.2)
|
59
|
-
minitest (5.5.
|
59
|
+
minitest (5.5.1)
|
60
60
|
multi_json (1.10.1)
|
61
61
|
nokogiri (1.6.5)
|
62
62
|
mini_portile (~> 0.6.0)
|
63
63
|
rack (1.6.0)
|
64
|
-
rack-test (0.6.
|
64
|
+
rack-test (0.6.3)
|
65
65
|
rack (>= 1.0)
|
66
66
|
rails (4.2.0)
|
67
67
|
actionmailer (= 4.2.0)
|
@@ -24,27 +24,39 @@ module SimpleWorkflow::Controller
|
|
24
24
|
end
|
25
25
|
session[:detours] ||= []
|
26
26
|
session[:detours] << options
|
27
|
+
remove_old_detours
|
28
|
+
logger.debug "Added detour (#{session[:detours].try(:size) || 0}): #{options.inspect}"
|
29
|
+
end
|
27
30
|
|
31
|
+
def remove_old_detours
|
28
32
|
if Rails.application.config.session_store == ActionDispatch::Session::CookieStore
|
29
|
-
encryptor = cookies.signed_or_encrypted.instance_variable_get(:@encryptor)
|
30
33
|
ss = ws = nil
|
31
34
|
loop do
|
32
35
|
ser_val = cookies.signed_or_encrypted.send(:serialize, nil, session.to_hash)
|
33
|
-
|
34
|
-
ss = new_value.size
|
36
|
+
ss = encryptor.encrypt_and_sign(ser_val).size
|
35
37
|
wf_ser_val = cookies.signed_or_encrypted.send(:serialize, nil, session[:detours])
|
36
|
-
|
37
|
-
ws = wf_crypt_val.size
|
38
|
+
ws = encryptor.encrypt_and_sign(wf_ser_val).size
|
38
39
|
break unless ws >= 2048 || (ss >= 3072 && session[:detours] && session[:detours].size > 0)
|
39
|
-
logger.warn "Workflow too large (#{ws}). Dropping oldest detour."
|
40
|
+
logger.warn "Workflow too large (#{ws}/#{ss}). Dropping oldest detour."
|
40
41
|
session[:detours].shift
|
41
42
|
reset_workflow if session[:detours].empty?
|
42
43
|
end
|
43
44
|
logger.debug "session: #{ss} bytes, workflow(#{session[:detours].try(:size) || 0}): #{ws} bytes"
|
44
45
|
end
|
46
|
+
end
|
45
47
|
|
46
|
-
|
48
|
+
def encryptor
|
49
|
+
return @simple_workflow_encryptor if @simple_workflow_encryptor
|
50
|
+
@simple_workflow_encryptor = cookies.signed_or_encrypted.instance_variable_get(:@encryptor)
|
51
|
+
return @simple_workflow_encryptor if @simple_workflow_encryptor
|
52
|
+
secret_key_base = Rails.application.config.secret_key_base
|
53
|
+
key_generator = ActiveSupport::KeyGenerator.new(secret_key_base, iterations: 1000)
|
54
|
+
key_generator = ActiveSupport::CachingKeyGenerator.new(key_generator)
|
55
|
+
secret = key_generator.generate_key('encrypted cookie')
|
56
|
+
sign_secret = key_generator.generate_key('signed encrypted cookie')
|
57
|
+
@simple_workflow_encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret)
|
47
58
|
end
|
59
|
+
private :encryptor
|
48
60
|
|
49
61
|
def store_detour_from_params
|
50
62
|
if params[:detour]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_workflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Uwe Kubosch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -40,15 +40,6 @@ files:
|
|
40
40
|
- lib/simple_workflow/helper.rb
|
41
41
|
- lib/simple_workflow/test_helper.rb
|
42
42
|
- lib/simple_workflow/version.rb
|
43
|
-
- simple_workflow-1.0.1.gem
|
44
|
-
- simple_workflow-1.0.2.gem
|
45
|
-
- simple_workflow-1.0.3.gem
|
46
|
-
- simple_workflow-1.0.4.gem
|
47
|
-
- simple_workflow-1.0.5.gem
|
48
|
-
- simple_workflow-1.0.6.gem
|
49
|
-
- simple_workflow-1.0.7.gem
|
50
|
-
- simple_workflow-1.0.8.gem
|
51
|
-
- simple_workflow.gemspec
|
52
43
|
- test/controller_test.rb
|
53
44
|
- test/helper_test.rb
|
54
45
|
- test/test_helper.rb
|
data/simple_workflow-1.0.1.gem
DELETED
Binary file
|
data/simple_workflow-1.0.2.gem
DELETED
Binary file
|
data/simple_workflow-1.0.3.gem
DELETED
Binary file
|
data/simple_workflow-1.0.4.gem
DELETED
Binary file
|
data/simple_workflow-1.0.5.gem
DELETED
Binary file
|
data/simple_workflow-1.0.6.gem
DELETED
Binary file
|
data/simple_workflow-1.0.7.gem
DELETED
Binary file
|
data/simple_workflow-1.0.8.gem
DELETED
Binary file
|
data/simple_workflow.gemspec
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require './lib/simple_workflow/version'
|
3
|
-
|
4
|
-
Gem::Specification.new do |s|
|
5
|
-
s.name = %q{simple_workflow}
|
6
|
-
s.version = SimpleWorkflow::VERSION
|
7
|
-
s.date = Date.today.strftime '%Y-%m-%d'
|
8
|
-
s.authors = ['Uwe Kubosch']
|
9
|
-
s.email = %q{uwe@kubosch.no}
|
10
|
-
s.summary = %q{Add simple breadcrumbs "detour" workflow to Ruby On Rails.}
|
11
|
-
s.homepage = %q{https://github.com/donv/simple_workflow}
|
12
|
-
s.description = 'Expands Ruby On Rails to allow simple breadcrumb detour workflows.'
|
13
|
-
s.rubyforge_project = 'donv/simple_workflow'
|
14
|
-
s.licenses = %w(MIT)
|
15
|
-
s.files = FileList['[A-Z]*', 'lib/**/*', 'test/**/*'].to_a
|
16
|
-
s.add_dependency('rails','~>4.0')
|
17
|
-
end
|