pk-merb_history 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Pavel Kunc
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,4 @@
1
+ merb_history
2
+ ============
3
+
4
+ A plugin for the Merb framework that provides ...
data/Rakefile ADDED
@@ -0,0 +1,67 @@
1
+ require 'rubygems'
2
+ require 'rake/gempackagetask'
3
+ require "spec/rake/spectask"
4
+
5
+ require 'merb-core'
6
+ require 'merb-core/tasks/merb'
7
+
8
+ GEM_NAME = "merb_history"
9
+ GEM_VERSION = "0.0.1"
10
+ AUTHOR = "Pavel Kunc"
11
+ EMAIL = "pavel.kunc@gmail.com"
12
+ HOMEPAGE = "http://github.com/pk/merb_history"
13
+ SUMMARY = "Merb plugin that provides history management for user actions (URLs)."
14
+
15
+ spec = Gem::Specification.new do |s|
16
+ s.rubyforge_project = GEM_NAME
17
+ s.name = GEM_NAME
18
+ s.version = GEM_VERSION
19
+ s.platform = Gem::Platform::RUBY
20
+ s.has_rdoc = true
21
+ s.extra_rdoc_files = ["README", "LICENSE", 'TODO']
22
+ s.summary = SUMMARY
23
+ s.description = s.summary
24
+ s.author = AUTHOR
25
+ s.email = EMAIL
26
+ s.homepage = HOMEPAGE
27
+ s.add_dependency('merb', '>= 1.0.11')
28
+ s.require_path = 'lib'
29
+ s.files = %w(LICENSE README Rakefile TODO) + Dir.glob("{lib,spec}/**/*")
30
+
31
+ end
32
+
33
+ Rake::GemPackageTask.new(spec) do |pkg|
34
+ pkg.gem_spec = spec
35
+ end
36
+
37
+ desc "install the plugin as a gem"
38
+ task :install do
39
+ Merb::RakeHelper.install(GEM_NAME, :version => GEM_VERSION)
40
+ end
41
+
42
+ desc "Uninstall the gem"
43
+ task :uninstall do
44
+ Merb::RakeHelper.uninstall(GEM_NAME, :version => GEM_VERSION)
45
+ end
46
+
47
+ desc "Create a gemspec file"
48
+ task :gemspec do
49
+ File.open("#{GEM_NAME}.gemspec", "w") do |file|
50
+ file.puts spec.to_ruby
51
+ end
52
+ end
53
+
54
+ desc "Run all specs"
55
+ Spec::Rake::SpecTask.new("specs") do |t|
56
+ t.spec_opts = ["--format", "specdoc", "--colour"]
57
+ t.spec_files = Dir["spec/**/*_spec.rb"].sort
58
+ end
59
+
60
+ desc "Run a specific spec with TASK=xxxx"
61
+ Spec::Rake::SpecTask.new("spec") do |t|
62
+ t.spec_opts = ["--format", "specdoc", "--colour"]
63
+ t.libs = ["lib", "server/lib" ]
64
+ t.spec_files = (ENV["TASK"] || '').split(',').map do |task|
65
+ "spec/#{task}_spec.rb"
66
+ end
67
+ end
data/TODO ADDED
@@ -0,0 +1,3 @@
1
+ TODO:
2
+ Add your code to lib/merb_history.rb
3
+ Add your Merb rake tasks to lib/merb_history/merbtasks.rb
@@ -0,0 +1,70 @@
1
+ module MerbHistory
2
+
3
+ class History
4
+ # Forward array stuff to @history
5
+ extend Forwardable
6
+ def_delegators :@history, :[], :size, :last, :first, :shift, :pop, :empty?
7
+
8
+ SESSION_HISTORY_KEY = :history
9
+ SESSION_RETURN_TO_KEY = :return_to
10
+
11
+ # Accessors
12
+ attr_accessor :max_size, :exclude
13
+ attr_reader :history
14
+
15
+ def initialize(session, options = {})
16
+ @session = init_session(session)
17
+ @history = @session[SESSION_HISTORY_KEY]
18
+ @return_to = @session[SESSION_RETURN_TO_KEY]
19
+ @max_size = options[:size] && options[:size].to_i > 0 ? options[:size].to_i : 10
20
+ @exclude = options[:exclude] && options[:exclude].is_a?(Hash) ? options[:exclude] : {}
21
+ end
22
+
23
+ # Push to the history
24
+ def push(request)
25
+ @return_to.push(self.last) if request.params[:return_here]
26
+ # Filter other requests than GET ones we want to skip
27
+ location = self.class.location_from_request(request)
28
+ if request.method == :get && !skip?(location)
29
+ @history.push(location) unless self.last == location
30
+ end
31
+ # Shift from history if we have more items than max_size
32
+ self.shift if self.size > @max_size
33
+ end
34
+
35
+ def skip?(location)
36
+ @exclude.any? {|key,rule| location =~ rule }
37
+ end
38
+
39
+ def should_return?
40
+ !@return_to.empty?
41
+ end
42
+
43
+ def return_to(default, keep = false)
44
+ if should_return?
45
+ url = keep ? @return_to.first : @return_to.pop
46
+ else
47
+ url = default.is_a? Symbol ? url(default) : default
48
+ end
49
+ url
50
+ end
51
+
52
+ def init_session(session)
53
+ session[SESSION_HISTORY_KEY] = [] if session[SESSION_HISTORY_KEY].nil?
54
+ session[SESSION_RETURN_TO_KEY] = [] if session[SESSION_RETURN_TO_KEY].nil?
55
+ session
56
+ end
57
+
58
+ def self.location_from_request(request)
59
+ raise ArgumentError, 'Empty URI!' if request.uri.to_s.empty?
60
+ location = request.uri
61
+ query_string = request.query_string
62
+ unless query_string.to_s.empty?
63
+ query_string = query_string.gsub(/[?&]?return_here=1/, '')
64
+ location << '?' + query_string unless query_string.empty?
65
+ end
66
+ location
67
+ end
68
+ end
69
+
70
+ end
@@ -0,0 +1,26 @@
1
+ module MerbHistory
2
+ module Controller
3
+
4
+ def self.included(base)
5
+ base.class_eval <<-RUBY
6
+ alias original_url url
7
+ def url(name, *args)
8
+ if args.include?(:return_here)
9
+ args.delete(:return_here)
10
+ args << {:return_here => 1}
11
+ end
12
+ original_url(name, *args)
13
+ end
14
+ RUBY
15
+ end
16
+
17
+ def record_history
18
+ request.history.push(request)
19
+ end
20
+
21
+ def init_history(options = {})
22
+ request.history ||= History.new(session, options)
23
+ end
24
+
25
+ end #Controller
26
+ end #MerbHistory
@@ -0,0 +1,13 @@
1
+ module MerbHistory
2
+ module Request
3
+
4
+ def history
5
+ @_history
6
+ end
7
+
8
+ def history=(h)
9
+ raise ArgumentError, 'Pass MerbHistory::History objects only.' unless h.is_a? History
10
+ @_history = h
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ module MerbHistory
2
+ module UrlHelpers
3
+
4
+ alias :original_url, :url
5
+ def url(name, *args)
6
+ end
7
+
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ namespace :merb_history do
2
+ desc "Do something for merb_history"
3
+ task :default do
4
+ puts "merb_history doesn't do anything"
5
+ end
6
+ end
@@ -0,0 +1,21 @@
1
+ # make sure we're running inside Merb
2
+ if defined?(Merb::Plugins)
3
+
4
+ # Merb gives you a Merb::Plugins.config hash...feel free to put your stuff in your piece of it
5
+ Merb::Plugins.config[:merb_history] = {}
6
+
7
+ require File.join(File.dirname(__FILE__) / "merb_history" / "history" / "history")
8
+ require File.join(File.dirname(__FILE__) / "merb_history" / "merb" / "controller")
9
+ require File.join(File.dirname(__FILE__) / "merb_history" / "merb" / "request")
10
+
11
+ Merb::BootLoader.before_app_loads do
12
+ # require code that must be loaded before the application
13
+ end
14
+
15
+ Merb::BootLoader.after_app_loads do
16
+ Merb::Controller.send(:include, MerbHistory::Controller)
17
+ Merb::Request.send(:include, MerbHistory::Request)
18
+ end
19
+
20
+ Merb::Plugins.add_rakefiles File.join(File.dirname(__FILE__) / 'merb_history' / 'merbtasks')
21
+ end
@@ -0,0 +1,26 @@
1
+ class HistoryfiedController < Merb::Controller
2
+
3
+ def index
4
+ render 'index'
5
+ end
6
+
7
+ def new
8
+ render 'new'
9
+ end
10
+
11
+ def edit
12
+ render 'edit'
13
+ end
14
+
15
+ def show
16
+ render 'show'
17
+ end
18
+
19
+ def history_count
20
+ render request.history.size.to_s
21
+ end
22
+
23
+ def history_path
24
+ render request.history.history.join(",")
25
+ end
26
+ end
@@ -0,0 +1,566 @@
1
+ Fri, 03 Apr 2009 10:43:15 GMT ~ info ~ Logfile created
2
+ ~ No session store set. Set it in init file like this: c[:session_store] = 'activerecord'
3
+ ~ No session store set. Set it in init file like this: c[:session_store] = 'activerecord'
4
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
5
+ ~ {:after_filters_time=>5.5e-05, :action_time=>0.001968, :before_filters_time=>5.5e-05}
6
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
7
+ ~ {:after_filters_time=>7.1e-05, :action_time=>0.002228, :before_filters_time=>5.5e-05}
8
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
9
+ ~ {:after_filters_time=>5.3e-05, :action_time=>0.00196, :before_filters_time=>5.4e-05}
10
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
11
+ ~ {:after_filters_time=>5.7e-05, :action_time=>0.002202, :before_filters_time=>6.6e-05}
12
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
13
+ ~ {:after_filters_time=>5.4e-05, :action_time=>0.001955, :before_filters_time=>5.4e-05}
14
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
15
+ ~ {:after_filters_time=>6.7e-05, :action_time=>0.002415, :before_filters_time=>6.7e-05}
16
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
17
+ ~ {:after_filters_time=>5.3e-05, :action_time=>0.001986, :before_filters_time=>5.8e-05}
18
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
19
+ ~ {:before_filters_time=>5.3e-05, :action_time=>0.001962, :after_filters_time=>5.2e-05}
20
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
21
+ ~ {:before_filters_time=>3.1e-05, :action_time=>0.0006, :after_filters_time=>3.1e-05}
22
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
23
+ ~ {:action_time=>0.001964, :after_filters_time=>5.3e-05, :before_filters_time=>5.6e-05}
24
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
25
+ ~ {:action_time=>0.000616, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
26
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
27
+ ~ {:action_time=>0.000607, :after_filters_time=>3.1e-05, :before_filters_time=>3.9e-05}
28
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
29
+ ~ {:action_time=>0.0006, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
30
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
31
+ ~ {:action_time=>0.001966, :after_filters_time=>5.3e-05, :before_filters_time=>5.5e-05}
32
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
33
+ ~ {:action_time=>0.000762, :after_filters_time=>3.9e-05, :before_filters_time=>4.0e-05}
34
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
35
+ ~ {:action_time=>0.000634, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
36
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
37
+ ~ {:action_time=>0.000588, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
38
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
39
+ ~ {:action_time=>0.001951, :after_filters_time=>5.3e-05, :before_filters_time=>5.5e-05}
40
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
41
+ ~ {:action_time=>0.000612, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
42
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
43
+ ~ {:action_time=>0.000612, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
44
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
45
+ ~ {:action_time=>0.000593, :after_filters_time=>3.1e-05, :before_filters_time=>3.0e-05}
46
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
47
+ ~ {:action_time=>0.000592, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
48
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
49
+ ~ {:action_time=>0.002415, :after_filters_time=>6.5e-05, :before_filters_time=>6.7e-05}
50
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
51
+ ~ {:action_time=>0.000791, :after_filters_time=>3.4e-05, :before_filters_time=>3.4e-05}
52
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
53
+ ~ {:action_time=>0.00072, :after_filters_time=>3.4e-05, :before_filters_time=>3.4e-05}
54
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
55
+ ~ {:action_time=>0.000719, :after_filters_time=>3.4e-05, :before_filters_time=>3.5e-05}
56
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
57
+ ~ {:action_time=>0.000653, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
58
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
59
+ ~ {:action_time=>0.001948, :after_filters_time=>5.4e-05, :before_filters_time=>5.5e-05}
60
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
61
+ ~ {:action_time=>0.00062, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
62
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
63
+ ~ {:action_time=>0.000609, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
64
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
65
+ ~ {:action_time=>0.000638, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
66
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
67
+ ~ {:action_time=>0.000588, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
68
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
69
+ ~ {:action_time=>0.000595, :after_filters_time=>3.8e-05, :before_filters_time=>3.1e-05}
70
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
71
+ ~ {:action_time=>0.000646, :after_filters_time=>3.7e-05, :before_filters_time=>3.1e-05}
72
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
73
+ ~ {:action_time=>0.002003, :after_filters_time=>5.6e-05, :before_filters_time=>5.6e-05}
74
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
75
+ ~ {:action_time=>0.000615, :after_filters_time=>3.3e-05, :before_filters_time=>3.2e-05}
76
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
77
+ ~ {:action_time=>0.000618, :after_filters_time=>3.1e-05, :before_filters_time=>3.4e-05}
78
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
79
+ ~ {:action_time=>0.000629, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
80
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
81
+ ~ {:action_time=>0.000586, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
82
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
83
+ ~ {:action_time=>0.000596, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
84
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
85
+ ~ {:action_time=>0.000587, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
86
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
87
+ ~ {:action_time=>0.00194, :after_filters_time=>5.5e-05, :before_filters_time=>5.6e-05}
88
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
89
+ ~ {:action_time=>0.000588, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
90
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
91
+ ~ {:action_time=>0.000604, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
92
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
93
+ ~ {:action_time=>0.000702, :after_filters_time=>3.2e-05, :before_filters_time=>3.9e-05}
94
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
95
+ ~ {:action_time=>0.000586, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
96
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
97
+ ~ {:action_time=>0.000607, :after_filters_time=>3.2e-05, :before_filters_time=>4.6e-05}
98
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
99
+ ~ {:action_time=>0.000589, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
100
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
101
+ ~ {:action_time=>0.001951, :after_filters_time=>5.4e-05, :before_filters_time=>5.4e-05}
102
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
103
+ ~ {:action_time=>0.00059, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
104
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
105
+ ~ {:action_time=>0.000831, :after_filters_time=>3.3e-05, :before_filters_time=>3.2e-05}
106
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
107
+ ~ {:action_time=>0.000583, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
108
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
109
+ ~ {:action_time=>0.000578, :after_filters_time=>3.0e-05, :before_filters_time=>3.0e-05}
110
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
111
+ ~ {:action_time=>0.000678, :after_filters_time=>3.8e-05, :before_filters_time=>3.1e-05}
112
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
113
+ ~ {:action_time=>0.000649, :after_filters_time=>3.4e-05, :before_filters_time=>4.3e-05}
114
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
115
+ ~ {:action_time=>0.002108, :after_filters_time=>6.7e-05, :before_filters_time=>5.5e-05}
116
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
117
+ ~ {:action_time=>0.000746, :after_filters_time=>4.7e-05, :before_filters_time=>3.9e-05}
118
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
119
+ ~ {:action_time=>0.000594, :after_filters_time=>3.3e-05, :before_filters_time=>3.2e-05}
120
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
121
+ ~ {:action_time=>0.000602, :after_filters_time=>4.1e-05, :before_filters_time=>3.2e-05}
122
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
123
+ ~ {:action_time=>0.000596, :after_filters_time=>3.2e-05, :before_filters_time=>3.0e-05}
124
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
125
+ ~ {:action_time=>0.000597, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
126
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
127
+ ~ {:action_time=>0.000586, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
128
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
129
+ ~ {:action_time=>0.001959, :after_filters_time=>5.3e-05, :before_filters_time=>5.5e-05}
130
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
131
+ ~ {:action_time=>0.000747, :after_filters_time=>3.8e-05, :before_filters_time=>3.9e-05}
132
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
133
+ ~ {:action_time=>0.000603, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
134
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
135
+ ~ {:action_time=>0.000586, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
136
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
137
+ ~ {:action_time=>0.0006, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
138
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
139
+ ~ {:action_time=>0.000597, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
140
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
141
+ ~ {:action_time=>0.000775, :after_filters_time=>4.3e-05, :before_filters_time=>3.9e-05}
142
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
143
+ ~ {:action_time=>0.00202, :after_filters_time=>5.2e-05, :before_filters_time=>5.4e-05}
144
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
145
+ ~ {:action_time=>0.000593, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
146
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
147
+ ~ {:action_time=>0.000599, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
148
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
149
+ ~ {:action_time=>0.000583, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
150
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
151
+ ~ {:action_time=>0.000594, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
152
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
153
+ ~ {:action_time=>0.000594, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
154
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
155
+ ~ {:action_time=>0.000605, :after_filters_time=>3.1e-05, :before_filters_time=>4.4e-05}
156
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
157
+ ~ {:action_time=>0.000586, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
158
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
159
+ ~ {:action_time=>0.002447, :after_filters_time=>7.1e-05, :before_filters_time=>6.8e-05}
160
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
161
+ ~ {:action_time=>0.000629, :after_filters_time=>3.1e-05, :before_filters_time=>3.4e-05}
162
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
163
+ ~ {:action_time=>0.000616, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
164
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
165
+ ~ {:action_time=>0.00059, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
166
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
167
+ ~ {:action_time=>0.000588, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
168
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
169
+ ~ {:action_time=>0.000624, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
170
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
171
+ ~ {:action_time=>0.000582, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
172
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
173
+ ~ {:action_time=>0.000581, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
174
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
175
+ ~ {:action_time=>0.002017, :after_filters_time=>5.3e-05, :before_filters_time=>5.5e-05}
176
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
177
+ ~ {:action_time=>0.000588, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
178
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
179
+ ~ {:action_time=>0.00059, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
180
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
181
+ ~ {:action_time=>0.000736, :after_filters_time=>4.0e-05, :before_filters_time=>4.5e-05}
182
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
183
+ ~ {:action_time=>0.000594, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
184
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
185
+ ~ {:action_time=>0.000593, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
186
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
187
+ ~ {:action_time=>0.000585, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
188
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
189
+ ~ {:action_time=>0.000575, :after_filters_time=>3.2e-05, :before_filters_time=>3.0e-05}
190
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
191
+ ~ {:action_time=>0.002372, :after_filters_time=>5.9e-05, :before_filters_time=>7.6e-05}
192
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
193
+ ~ {:action_time=>0.000596, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
194
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
195
+ ~ {:action_time=>0.000587, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
196
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
197
+ ~ {:action_time=>0.000581, :after_filters_time=>3.2e-05, :before_filters_time=>3.6e-05}
198
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
199
+ ~ {:action_time=>0.000628, :after_filters_time=>3.1e-05, :before_filters_time=>3.0e-05}
200
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
201
+ ~ {:action_time=>0.000597, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
202
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
203
+ ~ {:action_time=>0.000627, :after_filters_time=>3.1e-05, :before_filters_time=>3.8e-05}
204
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
205
+ ~ {:action_time=>0.000616, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
206
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
207
+ ~ {:action_time=>0.001931, :after_filters_time=>5.2e-05, :before_filters_time=>5.5e-05}
208
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
209
+ ~ {:action_time=>0.000601, :after_filters_time=>3.1e-05, :before_filters_time=>3.0e-05}
210
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
211
+ ~ {:action_time=>0.000606, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
212
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
213
+ ~ {:action_time=>0.000645, :after_filters_time=>3.4e-05, :before_filters_time=>3.4e-05}
214
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
215
+ ~ {:action_time=>0.000584, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
216
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
217
+ ~ {:action_time=>0.000591, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
218
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
219
+ ~ {:action_time=>0.000626, :after_filters_time=>3.4e-05, :before_filters_time=>3.1e-05}
220
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
221
+ ~ {:action_time=>0.000592, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
222
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
223
+ ~ {:action_time=>0.001944, :after_filters_time=>5.4e-05, :before_filters_time=>5.6e-05}
224
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
225
+ ~ {:action_time=>0.000594, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
226
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
227
+ ~ {:action_time=>0.000599, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
228
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
229
+ ~ {:action_time=>0.00063, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
230
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
231
+ ~ {:action_time=>0.000596, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
232
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
233
+ ~ {:action_time=>0.000586, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
234
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
235
+ ~ {:action_time=>0.00063, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
236
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
237
+ ~ {:action_time=>0.000737, :after_filters_time=>3.4e-05, :before_filters_time=>3.5e-05}
238
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
239
+ ~ {:action_time=>0.001951, :after_filters_time=>5.4e-05, :before_filters_time=>5.6e-05}
240
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
241
+ ~ {:action_time=>0.000597, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
242
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
243
+ ~ {:action_time=>0.00069, :after_filters_time=>3.2e-05, :before_filters_time=>3.8e-05}
244
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
245
+ ~ {:action_time=>0.000593, :after_filters_time=>3.8e-05, :before_filters_time=>3.3e-05}
246
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
247
+ ~ {:action_time=>0.000733, :after_filters_time=>3.8e-05, :before_filters_time=>4.0e-05}
248
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
249
+ ~ {:action_time=>0.000625, :after_filters_time=>6.8e-05, :before_filters_time=>3.3e-05}
250
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
251
+ ~ {:action_time=>0.000637, :after_filters_time=>3.1e-05, :before_filters_time=>6.3e-05}
252
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
253
+ ~ {:action_time=>0.000604, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
254
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
255
+ ~ {:action_time=>0.001938, :after_filters_time=>5.3e-05, :before_filters_time=>6.4e-05}
256
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
257
+ ~ {:action_time=>0.000592, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
258
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
259
+ ~ {:action_time=>0.000593, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
260
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
261
+ ~ {:action_time=>0.000588, :after_filters_time=>3.1e-05, :before_filters_time=>3.9e-05}
262
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
263
+ ~ {:action_time=>0.000601, :after_filters_time=>3.8e-05, :before_filters_time=>3.1e-05}
264
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
265
+ ~ {:action_time=>0.000583, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
266
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
267
+ ~ {:action_time=>0.000584, :after_filters_time=>3.0e-05, :before_filters_time=>3.0e-05}
268
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
269
+ ~ {:action_time=>0.000581, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
270
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
271
+ ~ {:action_time=>0.001918, :after_filters_time=>5.2e-05, :before_filters_time=>5.4e-05}
272
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
273
+ ~ {:action_time=>0.000589, :after_filters_time=>3.1e-05, :before_filters_time=>3.0e-05}
274
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
275
+ ~ {:action_time=>0.000681, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
276
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
277
+ ~ {:action_time=>0.000577, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
278
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
279
+ ~ {:action_time=>0.000586, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
280
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
281
+ ~ {:action_time=>0.000583, :after_filters_time=>3.1e-05, :before_filters_time=>3.0e-05}
282
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
283
+ ~ {:action_time=>0.000653, :after_filters_time=>3.2e-05, :before_filters_time=>4.6e-05}
284
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
285
+ ~ {:action_time=>0.000582, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
286
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
287
+ ~ {:action_time=>0.002212, :after_filters_time=>6.7e-05, :before_filters_time=>5.4e-05}
288
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
289
+ ~ {:action_time=>0.000646, :after_filters_time=>3.4e-05, :before_filters_time=>3.2e-05}
290
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
291
+ ~ {:action_time=>0.000598, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
292
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
293
+ ~ {:action_time=>0.000631, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
294
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
295
+ ~ {:action_time=>0.000594, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
296
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
297
+ ~ {:action_time=>0.000596, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
298
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
299
+ ~ {:action_time=>0.000585, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
300
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
301
+ ~ {:action_time=>0.000593, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
302
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
303
+ ~ {:action_time=>0.002011, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
304
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
305
+ ~ {:action_time=>0.000588, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
306
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
307
+ ~ {:action_time=>0.002073, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
308
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
309
+ ~ {:action_time=>0.000587, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
310
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
311
+ ~ {:action_time=>0.001956, :after_filters_time=>5.2e-05, :before_filters_time=>5.4e-05}
312
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
313
+ ~ {:action_time=>0.000586, :after_filters_time=>3.0e-05, :before_filters_time=>3.1e-05}
314
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
315
+ ~ {:action_time=>0.001917, :after_filters_time=>5.2e-05, :before_filters_time=>5.3e-05}
316
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
317
+ ~ {:action_time=>0.000603, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
318
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
319
+ ~ {:action_time=>0.001928, :after_filters_time=>5.2e-05, :before_filters_time=>5.5e-05}
320
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
321
+ ~ {:action_time=>0.000594, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
322
+ ~ MerbHistory::Controller#record_history: is recording...
323
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
324
+ ~ {:action_time=>0.001991, :after_filters_time=>5.4e-05, :before_filters_time=>5.4e-05}
325
+ ~ MerbHistory::Controller#record_history: is recording...
326
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
327
+ ~ {:action_time=>0.000755, :after_filters_time=>4.1e-05, :before_filters_time=>3.5e-05}
328
+ ~ MerbHistory::Controller#record_history: is recording...
329
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
330
+ ~ {:action_time=>0.002294, :after_filters_time=>5.8e-05, :before_filters_time=>6.6e-05}
331
+ ~ MerbHistory::Controller#record_history: is recording...
332
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
333
+ ~ {:action_time=>0.000643, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
334
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
335
+ ~ {:action_time=>0.001945, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
336
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
337
+ ~ {:action_time=>0.000603, :after_filters_time=>3.1e-05, :before_filters_time=>3.8e-05}
338
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
339
+ ~ {:action_time=>0.000619, :after_filters_time=>3.1e-05, :before_filters_time=>3.9e-05}
340
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
341
+ ~ {:action_time=>0.000599, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
342
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
343
+ ~ {:action_time=>0.000627, :after_filters_time=>3.1e-05, :before_filters_time=>3.0e-05}
344
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
345
+ ~ {:action_time=>0.000594, :after_filters_time=>3.1e-05, :before_filters_time=>3.1e-05}
346
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
347
+ ~ {:action_time=>0.000612, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
348
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
349
+ ~ {:action_time=>0.000752, :after_filters_time=>3.9e-05, :before_filters_time=>4.1e-05}
350
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
351
+ ~ {:action_time=>0.002295, :after_filters_time=>6.6e-05, :before_filters_time=>5.5e-05}
352
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
353
+ ~ {:action_time=>0.000654, :after_filters_time=>3.4e-05, :before_filters_time=>3.4e-05}
354
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
355
+ ~ {:action_time=>0.000627, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
356
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
357
+ ~ {:action_time=>0.000615, :after_filters_time=>3.2e-05, :before_filters_time=>3.1e-05}
358
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
359
+ ~ {:action_time=>0.000602, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
360
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
361
+ ~ {:action_time=>0.000597, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
362
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
363
+ ~ {:action_time=>0.000617, :after_filters_time=>3.6e-05, :before_filters_time=>3.2e-05}
364
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
365
+ ~ {:action_time=>0.000605, :after_filters_time=>3.1e-05, :before_filters_time=>3.9e-05}
366
+ ~ MerbHistory::Controller#record_history: is recording...
367
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
368
+ ~ {:action_time=>0.001922, :after_filters_time=>5.2e-05, :before_filters_time=>5.3e-05}
369
+ ~ MerbHistory::Controller#record_history: is recording...
370
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
371
+ ~ {:action_time=>0.000586, :after_filters_time=>3.8e-05, :before_filters_time=>3.2e-05}
372
+ ~ MerbHistory::Controller#record_history: is recording...
373
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
374
+ ~ {:action_time=>0.001948, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
375
+ ~ MerbHistory::Controller#record_history: is recording...
376
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
377
+ ~ {:action_time=>0.001969, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
378
+ ~ MerbHistory::Controller#record_history: is recording...
379
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
380
+ ~ {:action_time=>0.000596, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
381
+ ~ MerbHistory::Controller#record_history: is recording...
382
+ ~ Params: {"action"=>"index", "controller"=>"historified_controller"}
383
+ ~ {:action_time=>0.002005, :after_filters_time=>5.4e-05, :before_filters_time=>5.3e-05}
384
+ ~ MerbHistory::Controller#record_history: is recording...
385
+ ~ Params: {"action"=>"show", "controller"=>"historified_controller"}
386
+ ~ {:action_time=>0.000601, :after_filters_time=>3.0e-05, :before_filters_time=>3.2e-05}
387
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
388
+ ~ {:action_time=>0.002048, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
389
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
390
+ ~ {:action_time=>0.002134, :after_filters_time=>6.5e-05, :before_filters_time=>5.4e-05}
391
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
392
+ ~ {:before_filters_time=>5.7e-05, :action_time=>0.00199, :after_filters_time=>5.3e-05}
393
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
394
+ ~ {:before_filters_time=>5.9e-05, :action_time=>0.001945, :after_filters_time=>5.3e-05}
395
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
396
+ ~ {:before_filters_time=>6.8e-05, :action_time=>0.002431, :after_filters_time=>6.7e-05}
397
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
398
+ ~ {:before_filters_time=>0.000664, :action_time=>0.003379, :after_filters_time=>5.4e-05}
399
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
400
+ ~ {:before_filters_time=>0.000789, :action_time=>0.001593, :after_filters_time=>3.1e-05}
401
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
402
+ ~ {:before_filters_time=>0.000669, :action_time=>0.003476, :after_filters_time=>0.00017}
403
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
404
+ ~ {:before_filters_time=>0.000682, :action_time=>0.001618, :after_filters_time=>0.000165}
405
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
406
+ ~ {:action_time=>0.001939, :after_filters_time=>5.3e-05, :before_filters_time=>5.4e-05}
407
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
408
+ ~ {:action_time=>0.000626, :after_filters_time=>3.4e-05, :before_filters_time=>3.5e-05}
409
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
410
+ ~ {:action_time=>0.000607, :after_filters_time=>3.4e-05, :before_filters_time=>3.6e-05}
411
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
412
+ ~ {:action_time=>0.000592, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
413
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
414
+ ~ {:action_time=>0.000601, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
415
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
416
+ ~ {:action_time=>0.000615, :after_filters_time=>3.0e-05, :before_filters_time=>3.3e-05}
417
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
418
+ ~ {:action_time=>0.001937, :after_filters_time=>5.2e-05, :before_filters_time=>5.3e-05}
419
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
420
+ ~ {:action_time=>0.00065, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
421
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
422
+ ~ {:action_time=>0.00076, :after_filters_time=>3.9e-05, :before_filters_time=>4.0e-05}
423
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
424
+ ~ {:action_time=>0.000636, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
425
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
426
+ ~ {:action_time=>0.000638, :after_filters_time=>3.1e-05, :before_filters_time=>3.2e-05}
427
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
428
+ ~ {:action_time=>0.006802, :after_filters_time=>3.6e-05, :before_filters_time=>3.3e-05}
429
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
430
+ ~ {:action_time=>0.002173, :after_filters_time=>5.3e-05, :before_filters_time=>5.5e-05}
431
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
432
+ ~ {:action_time=>0.000657, :after_filters_time=>3.1e-05, :before_filters_time=>3.3e-05}
433
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
434
+ ~ {:action_time=>0.000792, :after_filters_time=>3.1e-05, :before_filters_time=>0.000162}
435
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
436
+ ~ {:action_time=>0.00068, :after_filters_time=>6.9e-05, :before_filters_time=>3.3e-05}
437
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
438
+ ~ {:action_time=>0.000673, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
439
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
440
+ ~ {:action_time=>0.017633, :after_filters_time=>3.8e-05, :before_filters_time=>3.2e-05}
441
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
442
+ ~ {:action_time=>0.002045, :after_filters_time=>5.6e-05, :before_filters_time=>5.7e-05}
443
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
444
+ ~ {:action_time=>0.000655, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
445
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
446
+ ~ {:action_time=>0.000627, :after_filters_time=>3.4e-05, :before_filters_time=>3.3e-05}
447
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
448
+ ~ {:action_time=>0.000626, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
449
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
450
+ ~ {:action_time=>0.000694, :after_filters_time=>3.5e-05, :before_filters_time=>3.4e-05}
451
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
452
+ ~ {:action_time=>0.000631, :after_filters_time=>3.4e-05, :before_filters_time=>3.4e-05}
453
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
454
+ ~ {:action_time=>0.000734, :after_filters_time=>3.5e-05, :before_filters_time=>3.6e-05}
455
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
456
+ ~ {:action_time=>0.002099, :after_filters_time=>6.8e-05, :before_filters_time=>5.5e-05}
457
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
458
+ ~ {:action_time=>0.000699, :after_filters_time=>3.5e-05, :before_filters_time=>4.8e-05}
459
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
460
+ ~ {:action_time=>0.000643, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
461
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
462
+ ~ {:action_time=>0.000596, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
463
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
464
+ ~ {:action_time=>0.000596, :after_filters_time=>3.2e-05, :before_filters_time=>3.4e-05}
465
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
466
+ ~ {:action_time=>0.000609, :after_filters_time=>3.3e-05, :before_filters_time=>4.2e-05}
467
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
468
+ ~ {:action_time=>0.000641, :after_filters_time=>3.3e-05, :before_filters_time=>3.5e-05}
469
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
470
+ ~ {:action_time=>0.000652, :after_filters_time=>3.4e-05, :before_filters_time=>3.5e-05}
471
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
472
+ ~ {:action_time=>0.001977, :after_filters_time=>5.6e-05, :before_filters_time=>5.6e-05}
473
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
474
+ ~ {:action_time=>0.000597, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
475
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
476
+ ~ {:action_time=>0.000599, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
477
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
478
+ ~ {:action_time=>0.000589, :after_filters_time=>3.2e-05, :before_filters_time=>3.2e-05}
479
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
480
+ ~ {:action_time=>0.000639, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
481
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
482
+ ~ {:action_time=>0.000722, :after_filters_time=>3.5e-05, :before_filters_time=>4.2e-05}
483
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
484
+ ~ {:action_time=>0.000611, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
485
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
486
+ ~ {:action_time=>0.00059, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
487
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
488
+ ~ {:action_time=>0.002221, :after_filters_time=>6.9e-05, :before_filters_time=>5.6e-05}
489
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller", "test"=>"1"}
490
+ ~ {:action_time=>0.000738, :after_filters_time=>5.3e-05, :before_filters_time=>4.1e-05}
491
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
492
+ ~ {:action_time=>0.000604, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
493
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
494
+ ~ {:action_time=>0.00062, :after_filters_time=>3.3e-05, :before_filters_time=>3.5e-05}
495
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
496
+ ~ {:action_time=>0.000591, :after_filters_time=>3.2e-05, :before_filters_time=>3.3e-05}
497
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
498
+ ~ {:action_time=>0.000589, :after_filters_time=>3.2e-05, :before_filters_time=>3.4e-05}
499
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
500
+ ~ {:action_time=>0.000673, :after_filters_time=>3.2e-05, :before_filters_time=>5.3e-05}
501
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
502
+ ~ {:action_time=>0.0006, :after_filters_time=>3.3e-05, :before_filters_time=>3.5e-05}
503
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
504
+ ~ {:action_time=>0.001945, :after_filters_time=>5.5e-05, :before_filters_time=>5.6e-05}
505
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller", "test"=>"1"}
506
+ ~ {:action_time=>0.0006, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
507
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
508
+ ~ {:action_time=>0.000654, :after_filters_time=>3.4e-05, :before_filters_time=>3.4e-05}
509
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
510
+ ~ {:action_time=>0.0006, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
511
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
512
+ ~ {:action_time=>0.0006, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
513
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
514
+ ~ {:action_time=>0.000591, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
515
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
516
+ ~ {:action_time=>0.000606, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
517
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
518
+ ~ {:action_time=>0.000634, :after_filters_time=>3.2e-05, :before_filters_time=>3.5e-05}
519
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
520
+ ~ {:action_time=>0.001951, :after_filters_time=>5.6e-05, :before_filters_time=>5.7e-05}
521
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
522
+ ~ {:action_time=>0.000606, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
523
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
524
+ ~ {:action_time=>0.000623, :after_filters_time=>3.3e-05, :before_filters_time=>3.5e-05}
525
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
526
+ ~ {:action_time=>0.000603, :after_filters_time=>3.2e-05, :before_filters_time=>3.4e-05}
527
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
528
+ ~ {:action_time=>0.000587, :after_filters_time=>3.3e-05, :before_filters_time=>3.4e-05}
529
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
530
+ ~ {:action_time=>0.000588, :after_filters_time=>3.2e-05, :before_filters_time=>3.4e-05}
531
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
532
+ ~ {:action_time=>0.000721, :after_filters_time=>4.1e-05, :before_filters_time=>4.2e-05}
533
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
534
+ ~ {:action_time=>0.000613, :after_filters_time=>3.3e-05, :before_filters_time=>5.1e-05}
535
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
536
+ ~ {:action_time=>0.002221, :after_filters_time=>7.0e-05, :before_filters_time=>5.7e-05}
537
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
538
+ ~ {:action_time=>0.000653, :after_filters_time=>3.5e-05, :before_filters_time=>3.6e-05}
539
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
540
+ ~ {:action_time=>0.000609, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
541
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
542
+ ~ {:action_time=>0.00061, :after_filters_time=>3.3e-05, :before_filters_time=>3.3e-05}
543
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
544
+ ~ {:action_time=>0.000721, :after_filters_time=>4.1e-05, :before_filters_time=>3.4e-05}
545
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
546
+ ~ {:action_time=>0.000698, :after_filters_time=>3.3e-05, :before_filters_time=>4.7e-05}
547
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
548
+ ~ {:action_time=>0.000691, :after_filters_time=>3.6e-05, :before_filters_time=>3.7e-05}
549
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
550
+ ~ {:action_time=>0.000742, :after_filters_time=>3.4e-05, :before_filters_time=>3.6e-05}
551
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
552
+ ~ {:before_filters_time=>0.000734, :action_time=>0.003541, :after_filters_time=>0.000169}
553
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
554
+ ~ {:before_filters_time=>0.000686, :action_time=>0.001548, :after_filters_time=>0.000163}
555
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
556
+ ~ {:before_filters_time=>0.000587, :action_time=>0.003851, :after_filters_time=>0.000184}
557
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
558
+ ~ {:before_filters_time=>0.000569, :action_time=>0.001727, :after_filters_time=>0.000377}
559
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
560
+ ~ {:before_filters_time=>0.000557, :action_time=>0.00337, :after_filters_time=>0.000171}
561
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
562
+ ~ {:before_filters_time=>0.000522, :action_time=>0.001369, :after_filters_time=>0.000154}
563
+ ~ Params: {"action"=>"index", "controller"=>"historyfied_controller"}
564
+ ~ {:before_filters_time=>0.000541, :action_time=>0.0035, :after_filters_time=>0.000167}
565
+ ~ Params: {"action"=>"show", "controller"=>"historyfied_controller"}
566
+ ~ {:before_filters_time=>0.000576, :action_time=>0.001682, :after_filters_time=>0.000203}
@@ -0,0 +1,61 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe MerbHistory::Controller do
4
+
5
+ describe "beeing historyfied" do
6
+
7
+ before(:all) do
8
+ @controller = HistoryfiedController.new(fake_request)
9
+ end
10
+
11
+ it "should allow to record history" do
12
+ @controller.should respond_to(:record_history)
13
+ end
14
+
15
+ it "should allow to init history" do
16
+ @controller.should respond_to(:init_history)
17
+ end
18
+ end
19
+
20
+ describe "#init_history" do
21
+ before(:each) do
22
+ @controller = HistoryfiedController.new(fake_request)
23
+ end
24
+
25
+ it "should initialize history when first used" do
26
+ @controller.request.history.should be_nil
27
+ @controller.init_history
28
+ @controller.request.history.should be_a(MerbHistory::History)
29
+ end
30
+ end
31
+
32
+ describe "#record_history" do
33
+
34
+ before(:all) do
35
+ # Add history recording and initialization to controller
36
+ class HistoryfiedController
37
+ before :init_history
38
+ after :record_history
39
+ end
40
+
41
+ # Create three request which should be in history
42
+ # Tell merb to persist cokies for controller
43
+ with_cookies(HistoryfiedController) do
44
+ get('/index')
45
+ get('/show')
46
+ @controller = get('/edit')
47
+ end
48
+ end
49
+
50
+ it "should record three items to history" do
51
+ @controller.request.history.size.should == 3
52
+ end
53
+
54
+ it "should record correct urls to history" do
55
+ @controller.request.history[0].should contain('/index')
56
+ @controller.request.history[1].should contain('/show')
57
+ @controller.request.history[2].should contain('/edit')
58
+ end
59
+ end
60
+
61
+ end
@@ -0,0 +1,66 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe MerbHistory::History do
4
+
5
+ before(:each) do
6
+ @h = MerbHistory::History.new({})
7
+ end
8
+
9
+ it "should be initialized with defaults" do
10
+ @h.max_size.should == 10
11
+ @h.exclude.should == {}
12
+ end
13
+
14
+ it "should know how many items is in the history" do
15
+ @h.size.should == 0
16
+ end
17
+
18
+ it "should keep only max_size items in the history" do
19
+ @h.max_size = 1
20
+ res = get('/index')
21
+ @h.push(res.request)
22
+ res = get('/show')
23
+ @h.push(res.request)
24
+ @h.size.should == 1
25
+ @h.last.should contain('/show')
26
+ end
27
+
28
+ describe "#push" do
29
+ it "should push GET request to the history" do
30
+ res = get('/index')
31
+ lambda { @h.push(res.request) }.should change(@h, :size).by(1)
32
+ end
33
+
34
+ it "should push only first GET request to the history" do
35
+ res = get('/index')
36
+ lambda {
37
+ @h.push(res.request)
38
+ @h.push(res.request)
39
+ }.should change(@h, :size).by(1)
40
+ end
41
+
42
+ it "should not push POST request to the history" do
43
+ res = post('/index')
44
+ lambda { @h.push(res.request) }.should_not change(@h, :size)
45
+ end
46
+
47
+ it "should not push PUT request to the history" do
48
+ res = put('/index')
49
+ lambda { @h.push(res.request) }.should_not change(@h, :size)
50
+ end
51
+
52
+ it "should not push DELETE request to the history" do
53
+ res = delete('/index')
54
+ lambda { @h.push(res.request) }.should_not change(@h, :size)
55
+ end
56
+
57
+ it "should not push XHR request to the history"
58
+
59
+ it "should not push blacklisted URLs" do
60
+ @h.exclude[:index] = /index/
61
+ res = get('/index')
62
+ lambda { @h.push(res.request) }.should_not change(@h, :size)
63
+ end
64
+
65
+ end
66
+ end
@@ -0,0 +1,13 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe "merb_history" do
4
+
5
+ it "should historyfi controllers" do
6
+ HistoryfiedController.ancestors.include? MerbHistory::Controller
7
+ end
8
+
9
+ it "should historyfi request" do
10
+ Merb::Request.ancestors.include? MerbHistory::Request
11
+ end
12
+
13
+ end
@@ -0,0 +1,27 @@
1
+ $:.push File.join(File.dirname(__FILE__), '..', 'lib')
2
+ require 'rubygems'
3
+ require 'merb-core'
4
+ require 'spec'
5
+ require 'spec/mocks'
6
+ require 'merb-core/test'
7
+ require 'merb-core/test/helpers'
8
+ require File.join( File.dirname(__FILE__), "..", "lib", 'merb_history')
9
+
10
+ Merb.start(:environment => 'test',
11
+ :adapter => 'runner',
12
+ :session_store => :memory,
13
+ :memory_session_ttl => 60
14
+ )
15
+
16
+ Spec::Runner.configure do |config|
17
+ config.include(Merb::Test::ViewHelper)
18
+ config.include(Merb::Test::RouteHelper)
19
+ config.include(Merb::Test::ControllerHelper)
20
+ config.include Merb::Test::RequestHelper
21
+ end
22
+
23
+ Merb::Router.prepare do
24
+ match('/:action').to(:controller => 'historyfied_controller')
25
+ end
26
+
27
+ require File.join( File.dirname(__FILE__), 'historyfied_controller')
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pk-merb_history
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Pavel Kunc
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-04-16 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: merb
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.0.11
24
+ version:
25
+ description: Merb plugin that provides history management for user actions (URLs).
26
+ email: pavel.kunc@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README
33
+ - LICENSE
34
+ - TODO
35
+ files:
36
+ - LICENSE
37
+ - README
38
+ - Rakefile
39
+ - TODO
40
+ - lib/merb_history
41
+ - lib/merb_history/history
42
+ - lib/merb_history/history/history.rb
43
+ - lib/merb_history/merb
44
+ - lib/merb_history/merb/controller.rb
45
+ - lib/merb_history/merb/request.rb
46
+ - lib/merb_history/merb/url_helpers.rb
47
+ - lib/merb_history/merbtasks.rb
48
+ - lib/merb_history.rb
49
+ - spec/historyfied_controller.rb
50
+ - spec/log
51
+ - spec/log/merb_test.log
52
+ - spec/merb_history_controller_spec.rb
53
+ - spec/merb_history_history_spec.rb
54
+ - spec/merb_history_spec.rb
55
+ - spec/spec_helper.rb
56
+ has_rdoc: true
57
+ homepage: http://github.com/pk/merb_history
58
+ post_install_message:
59
+ rdoc_options: []
60
+
61
+ require_paths:
62
+ - lib
63
+ required_ruby_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ version:
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ requirements: []
76
+
77
+ rubyforge_project: merb_history
78
+ rubygems_version: 1.2.0
79
+ signing_key:
80
+ specification_version: 2
81
+ summary: Merb plugin that provides history management for user actions (URLs).
82
+ test_files: []
83
+