simple_workflow 1.1.0 → 1.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b0aaefffccf2f6cae0b554c08bdfdd59535a2a2
4
- data.tar.gz: 8be9945fb088a813a4e79c83378137957f99c924
3
+ metadata.gz: 98730ae8a0dc257bc752e21b17522e68077937be
4
+ data.tar.gz: 4ba378f8a83519a7ac7cbf218dd7ead4c85c39ff
5
5
  SHA512:
6
- metadata.gz: 5b82cee1cbdfe7841ca5f22dc0bb885e321c287d1da1e12d727d66a76dabd5e84dcbb32f1d5adf56d02879b090f961d679a90401b15737f39687837b35bd5f55
7
- data.tar.gz: 89fcca43ee312be2d4e188b8bddc5c60996eaba10778eb0d07da7d4e9e7460169a2dac1d1c022b0735b8805cd5d935afe532c38b97c335f5cbdc67e0c3a66e9a
6
+ metadata.gz: 0603ef92e165afcf6c7cc25cbc26f4a9ddfb34ab5e8f9a952dcc079377ce9dfbe27e7690880e30a838ff99f364f927aa45d39048f371625113495c54fc0d8762
7
+ data.tar.gz: 2608dc6a44158c2f4d780038882fe7984dd8f0502cecdf72be9f3feed8965b4e12660293e6cca6bf63da161f94841e11665853f939bc8be17c1fb134c1c2f600
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- simple_workflow (1.1.0)
4
+ simple_workflow (1.1.1)
5
5
  rails (~> 4.0)
6
6
 
7
7
  GEM
@@ -46,6 +46,7 @@ GEM
46
46
  arel (6.0.3)
47
47
  builder (3.2.2)
48
48
  concurrent-ruby (1.0.1)
49
+ concurrent-ruby (1.0.1-java)
49
50
  docile (1.1.5)
50
51
  erubis (2.7.0)
51
52
  globalid (0.3.6)
@@ -69,6 +70,7 @@ GEM
69
70
  ruby-progressbar
70
71
  nokogiri (1.6.7.2)
71
72
  mini_portile2 (~> 2.0.0.rc2)
73
+ nokogiri (1.6.7.2-java)
72
74
  rack (1.6.4)
73
75
  rack-test (0.6.3)
74
76
  rack (>= 1.0)
@@ -112,6 +114,7 @@ GEM
112
114
  sprockets (>= 3.0.0)
113
115
  thor (0.19.1)
114
116
  thread_safe (0.3.5)
117
+ thread_safe (0.3.5-java)
115
118
  tzinfo (1.2.2)
116
119
  thread_safe (~> 0.1)
117
120
 
data/History.rdoc CHANGED
@@ -1,6 +1,13 @@
1
+ == 1.1.1 2016-04-17
2
+
3
+ === Fixes
4
+
5
+ * Fix location of `reset_workflow` method
6
+
7
+
1
8
  == 1.1.0 2016-04-17
2
9
 
3
- === Feature
10
+ === Features
4
11
 
5
12
  * Rewrite as Rails Engine middleware
6
13
  * Add support for Ruby 2.3 and JRuby 9000
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  simple_workflow
2
2
  ===============
3
3
 
4
+ [![Gem Version](https://badge.fury.io/rb/simple_workflow.svg)](https://badge.fury.io/rb/simple_workflow)
4
5
  [![Build Status](https://travis-ci.org/donv/simple_workflow.svg?branch=master)](https://travis-ci.org/donv/simple_workflow)
5
6
 
6
7
  * http://github.com/donv/simple_workflow
@@ -58,7 +59,7 @@ or in Gemfile
58
59
 
59
60
  (The MIT License)
60
61
 
61
- Copyright (c) 2009-2012 Uwe Kubosch
62
+ Copyright (c) 2009-2016 Uwe Kubosch
62
63
 
63
64
  Permission is hereby granted, free of charge, to any person obtaining
64
65
  a copy of this software and associated documentation files (the
@@ -67,14 +67,10 @@ module SimpleWorkflow::Controller
67
67
  return nil unless detours
68
68
  detour = detours.pop
69
69
  logger.debug "popped detour: #{detour.inspect} #{session[:detours].size} more"
70
- reset_workflow if detours.empty?
70
+ reset_workflow(session) if detours.empty?
71
71
  detour
72
72
  end
73
73
 
74
- def reset_workflow
75
- session.delete(:detours)
76
- end
77
-
78
74
  def redirect_to_post(options)
79
75
  url = url_for options
80
76
  render :text => <<EOF, :layout => false
@@ -8,4 +8,8 @@ module SimpleWorkflow::Detour
8
8
  session[:detours] << options
9
9
  Rails.logger.try(:debug, "Added detour (#{session[:detours].try(:size) || 0}): #{options.inspect}")
10
10
  end
11
+
12
+ def reset_workflow(session)
13
+ session.delete(:detours)
14
+ end
11
15
  end
@@ -51,7 +51,7 @@ class SimpleWorkflow::Middleware
51
51
  break unless ws >= 2048 || (ss >= 3072 && session[:detours] && session[:detours].size > 0)
52
52
  Rails.logger.warn "Workflow too large (#{ws}/#{ss}). Dropping oldest detour."
53
53
  session[:detours].shift
54
- reset_workflow if session[:detours].empty?
54
+ reset_workflow(session) if session[:detours].empty?
55
55
  end
56
56
  Rails.logger.debug "session: #{ss} bytes, workflow(#{session[:detours].try(:size) || 0}): #{ws} bytes"
57
57
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleWorkflow
2
- VERSION = '1.1.0'
2
+ VERSION = '1.1.1'
3
3
  end
@@ -60,6 +60,18 @@ class MiddlewareTest < MiniTest::Test
60
60
  env['rack.session'].to_hash['detours'])
61
61
  end
62
62
 
63
+ def test_huge_detour_over_4k
64
+ query = "/orders/TeYphD2wcYyBDFaKTnmAog/edit?detour%5Baction%5D=index&detour%5Bcommit%5D=Search&detour%5Bcontroller%5D=order_drilldown&detour%5Bdrilldown_search%5D%5Bdimensions%5D%5B%5D=arrival&detour%5Bdrilldown_search%5D%5Bdimensions%5D%5B%5D=delay&detour%5Bdrilldown_search%5D%5Bdisplay_type%5D=NONE&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bactual_time%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bcomments%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bdelay%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bdescription%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bdirection%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bdrop_off_stand%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bestimated%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bfirst_vehicle%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bofb%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bonb%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Boperation%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bpick_up%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bpick_up_stand%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bplanned%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bprobable%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bscheduled%5D=1&detour%5Bdrilldown_search%5D%5Bfields%5D%5Bsta%5D=0&detour%5Bdrilldown_search%5D%5Bfields%5D%5Btime%5D=0&detour%5Bdrilldown_search%5D%5Bfilter%5D%5Barrival%5D%5B%5D=Arrival&detour%5Bdrilldown_search%5D%5Bfilter%5D%5Barrival%5D%5B%5D=Departure&detour%5Bdrilldown_search%5D%5Bfilter%5D%5Bcalendar_date%5D%5B%5D=2016-03-01&detour%5Bdrilldown_search%5D%5Blist%5D=1&detour%5Bdrilldown_search%5D%5Blist_change_times%5D=0&detour%5Bdrilldown_search%5D%5Border_by_value%5D=0&detour%5Bdrilldown_search%5D%5Bpercent%5D=1&detour%5Bdrilldown_search%5D%5Bselect_value%5D=COUNT&detour%5Bdrilldown_search%5D%5Btitle%5D=OSL+Daily+Delay+Report+2016-04-16#{'+etc' * 200}&detour%5Butf8%5D=%E2%9C%93"
65
+ env = env_for(query)
66
+
67
+ status, headers, response = @stack.call env
68
+
69
+ assert_equal 200, status
70
+ assert_equal(env, headers)
71
+ assert_equal 'app response', response
72
+ assert_equal(%w(session_id), headers['rack.session'].to_hash.keys)
73
+ end
74
+
63
75
  private
64
76
 
65
77
  def env_for(url, opts={})
data/test/test_app.rb CHANGED
@@ -3,7 +3,7 @@ require 'rails'
3
3
  class TestApp < Rails::Application
4
4
  config.action_dispatch.cookies_serializer = :json
5
5
  config.action_dispatch.key_generator = ActiveSupport::KeyGenerator.new('secret')
6
- config.logger = Logger.new('log/test.log')
6
+ config.logger = Logger.new(File.expand_path('../log/test.log', __dir__))
7
7
  config.secret_key_base = 'secret key base'
8
8
  # config.secret_token = 'secret token'
9
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uwe Kubosch