wicked 0.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of wicked might be problematic. Click here for more details.

Files changed (55) hide show
  1. data/.rvmrc +19 -0
  2. data/Gemfile +19 -0
  3. data/Gemfile.lock +109 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README.md +125 -0
  6. data/Rakefile +50 -0
  7. data/VERSION +1 -0
  8. data/app/controllers/wicked/wizard_controller.rb +57 -0
  9. data/lib/wicked/controller/concerns/path.rb +27 -0
  10. data/lib/wicked/controller/concerns/render_redirect.rb +46 -0
  11. data/lib/wicked/controller/concerns/steps.rb +41 -0
  12. data/lib/wicked/engine.rb +4 -0
  13. data/lib/wicked.rb +11 -0
  14. data/test/dummy/Rakefile +7 -0
  15. data/test/dummy/app/controllers/application_controller.rb +3 -0
  16. data/test/dummy/app/controllers/foo_controller.rb +11 -0
  17. data/test/dummy/app/helpers/application_helper.rb +2 -0
  18. data/test/dummy/app/views/foo/first.html.erb +1 -0
  19. data/test/dummy/app/views/foo/last_step.html.erb +0 -0
  20. data/test/dummy/app/views/foo/second.html.erb +1 -0
  21. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  22. data/test/dummy/config/application.rb +45 -0
  23. data/test/dummy/config/boot.rb +10 -0
  24. data/test/dummy/config/database.yml +22 -0
  25. data/test/dummy/config/environment.rb +5 -0
  26. data/test/dummy/config/environments/development.rb +26 -0
  27. data/test/dummy/config/environments/production.rb +49 -0
  28. data/test/dummy/config/environments/test.rb +35 -0
  29. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  30. data/test/dummy/config/initializers/inflections.rb +10 -0
  31. data/test/dummy/config/initializers/mime_types.rb +5 -0
  32. data/test/dummy/config/initializers/secret_token.rb +7 -0
  33. data/test/dummy/config/initializers/session_store.rb +8 -0
  34. data/test/dummy/config/locales/en.yml +5 -0
  35. data/test/dummy/config/routes.rb +59 -0
  36. data/test/dummy/config.ru +4 -0
  37. data/test/dummy/public/404.html +26 -0
  38. data/test/dummy/public/422.html +26 -0
  39. data/test/dummy/public/500.html +26 -0
  40. data/test/dummy/public/favicon.ico +0 -0
  41. data/test/dummy/public/index.html +1 -0
  42. data/test/dummy/public/javascripts/application.js +2 -0
  43. data/test/dummy/public/javascripts/controls.js +965 -0
  44. data/test/dummy/public/javascripts/dragdrop.js +974 -0
  45. data/test/dummy/public/javascripts/effects.js +1123 -0
  46. data/test/dummy/public/javascripts/prototype.js +6001 -0
  47. data/test/dummy/public/javascripts/rails.js +202 -0
  48. data/test/dummy/public/stylesheets/.gitkeep +0 -0
  49. data/test/dummy/script/rails +6 -0
  50. data/test/integration/navigation_test.rb +36 -0
  51. data/test/support/integration_case.rb +5 -0
  52. data/test/test_helper.rb +30 -0
  53. data/test/wicked_test.rb +7 -0
  54. data/wicked.gemspec +110 -0
  55. metadata +180 -0
@@ -0,0 +1,202 @@
1
+ (function() {
2
+ Ajax.Responders.register({
3
+ onCreate: function(request) {
4
+ var token = $$('meta[name=csrf-token]')[0];
5
+ if (token) {
6
+ if (!request.options.requestHeaders) request.options.requestHeaders = {};
7
+ request.options.requestHeaders['X-CSRF-Token'] = token.readAttribute('content');
8
+ }
9
+ }
10
+ });
11
+
12
+ // Technique from Juriy Zaytsev
13
+ // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
14
+ function isEventSupported(eventName) {
15
+ var el = document.createElement('div');
16
+ eventName = 'on' + eventName;
17
+ var isSupported = (eventName in el);
18
+ if (!isSupported) {
19
+ el.setAttribute(eventName, 'return;');
20
+ isSupported = typeof el[eventName] == 'function';
21
+ }
22
+ el = null;
23
+ return isSupported;
24
+ }
25
+
26
+ function isForm(element) {
27
+ return Object.isElement(element) && element.nodeName.toUpperCase() == 'FORM';
28
+ }
29
+
30
+ function isInput(element) {
31
+ if (Object.isElement(element)) {
32
+ var name = element.nodeName.toUpperCase();
33
+ return name == 'INPUT' || name == 'SELECT' || name == 'TEXTAREA';
34
+ }
35
+ else return false;
36
+ }
37
+
38
+ var submitBubbles = isEventSupported('submit'),
39
+ changeBubbles = isEventSupported('change');
40
+
41
+ if (!submitBubbles || !changeBubbles) {
42
+ // augment the Event.Handler class to observe custom events when needed
43
+ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap(
44
+ function(init, element, eventName, selector, callback) {
45
+ init(element, eventName, selector, callback);
46
+ // is the handler being attached to an element that doesn't support this event?
47
+ if ( (!submitBubbles && this.eventName == 'submit' && !isForm(this.element)) ||
48
+ (!changeBubbles && this.eventName == 'change' && !isInput(this.element)) ) {
49
+ // "submit" => "emulated:submit"
50
+ this.eventName = 'emulated:' + this.eventName;
51
+ }
52
+ }
53
+ );
54
+ }
55
+
56
+ if (!submitBubbles) {
57
+ // discover forms on the page by observing focus events which always bubble
58
+ document.on('focusin', 'form', function(focusEvent, form) {
59
+ // special handler for the real "submit" event (one-time operation)
60
+ if (!form.retrieve('emulated:submit')) {
61
+ form.on('submit', function(submitEvent) {
62
+ var emulated = form.fire('emulated:submit', submitEvent, true);
63
+ // if custom event received preventDefault, cancel the real one too
64
+ if (emulated.returnValue === false) submitEvent.preventDefault();
65
+ });
66
+ form.store('emulated:submit', true);
67
+ }
68
+ });
69
+ }
70
+
71
+ if (!changeBubbles) {
72
+ // discover form inputs on the page
73
+ document.on('focusin', 'input, select, textarea', function(focusEvent, input) {
74
+ // special handler for real "change" events
75
+ if (!input.retrieve('emulated:change')) {
76
+ input.on('change', function(changeEvent) {
77
+ input.fire('emulated:change', changeEvent, true);
78
+ });
79
+ input.store('emulated:change', true);
80
+ }
81
+ });
82
+ }
83
+
84
+ function handleRemote(element) {
85
+ var method, url, params;
86
+
87
+ var event = element.fire("ajax:before");
88
+ if (event.stopped) return false;
89
+
90
+ if (element.tagName.toLowerCase() === 'form') {
91
+ method = element.readAttribute('method') || 'post';
92
+ url = element.readAttribute('action');
93
+ // serialize the form with respect to the submit button that was pressed
94
+ params = element.serialize({ submit: element.retrieve('rails:submit-button') });
95
+ // clear the pressed submit button information
96
+ element.store('rails:submit-button', null);
97
+ } else {
98
+ method = element.readAttribute('data-method') || 'get';
99
+ url = element.readAttribute('href');
100
+ params = {};
101
+ }
102
+
103
+ new Ajax.Request(url, {
104
+ method: method,
105
+ parameters: params,
106
+ evalScripts: true,
107
+
108
+ onCreate: function(response) { element.fire("ajax:create", response); },
109
+ onComplete: function(response) { element.fire("ajax:complete", response); },
110
+ onSuccess: function(response) { element.fire("ajax:success", response); },
111
+ onFailure: function(response) { element.fire("ajax:failure", response); }
112
+ });
113
+
114
+ element.fire("ajax:after");
115
+ }
116
+
117
+ function insertHiddenField(form, name, value) {
118
+ form.insert(new Element('input', { type: 'hidden', name: name, value: value }));
119
+ }
120
+
121
+ function handleMethod(element) {
122
+ var method = element.readAttribute('data-method'),
123
+ url = element.readAttribute('href'),
124
+ csrf_param = $$('meta[name=csrf-param]')[0],
125
+ csrf_token = $$('meta[name=csrf-token]')[0];
126
+
127
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
128
+ $(element.parentNode).insert(form);
129
+
130
+ if (method !== 'post') {
131
+ insertHiddenField(form, '_method', method);
132
+ }
133
+
134
+ if (csrf_param) {
135
+ insertHiddenField(form, csrf_param.readAttribute('content'), csrf_token.readAttribute('content'));
136
+ }
137
+
138
+ form.submit();
139
+ }
140
+
141
+ function disableFormElements(form) {
142
+ form.select('input[type=submit][data-disable-with]').each(function(input) {
143
+ input.store('rails:original-value', input.getValue());
144
+ input.setValue(input.readAttribute('data-disable-with')).disable();
145
+ });
146
+ }
147
+
148
+ function enableFormElements(form) {
149
+ form.select('input[type=submit][data-disable-with]').each(function(input) {
150
+ input.setValue(input.retrieve('rails:original-value')).enable();
151
+ });
152
+ }
153
+
154
+ function allowAction(element) {
155
+ var message = element.readAttribute('data-confirm');
156
+ return !message || confirm(message);
157
+ }
158
+
159
+ document.on('click', 'a[data-confirm], a[data-remote], a[data-method]', function(event, link) {
160
+ if (!allowAction(link)) {
161
+ event.stop();
162
+ return false;
163
+ }
164
+
165
+ if (link.readAttribute('data-remote')) {
166
+ handleRemote(link);
167
+ event.stop();
168
+ } else if (link.readAttribute('data-method')) {
169
+ handleMethod(link);
170
+ event.stop();
171
+ }
172
+ });
173
+
174
+ document.on("click", "form input[type=submit], form button[type=submit], form button:not([type])", function(event, button) {
175
+ // register the pressed submit button
176
+ event.findElement('form').store('rails:submit-button', button.name || false);
177
+ });
178
+
179
+ document.on("submit", function(event) {
180
+ var form = event.findElement();
181
+
182
+ if (!allowAction(form)) {
183
+ event.stop();
184
+ return false;
185
+ }
186
+
187
+ if (form.readAttribute('data-remote')) {
188
+ handleRemote(form);
189
+ event.stop();
190
+ } else {
191
+ disableFormElements(form);
192
+ }
193
+ });
194
+
195
+ document.on('ajax:create', 'form', function(event, form) {
196
+ if (form == event.findElement()) disableFormElements(form);
197
+ });
198
+
199
+ document.on('ajax:complete', 'form', function(event, form) {
200
+ if (form == event.findElement()) enableFormElements(form);
201
+ });
202
+ })();
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,36 @@
1
+ require 'test_helper'
2
+
3
+ class NavigationTest < ActiveSupport::IntegrationCase
4
+
5
+ test 'show first' do
6
+ step = :first
7
+ visit(foo_path(step))
8
+ assert has_content?(step)
9
+ end
10
+
11
+ test 'show second' do
12
+ step = :second
13
+ visit(foo_path(step))
14
+ assert has_content?(step)
15
+ end
16
+
17
+ test 'skip first' do
18
+ step = :first
19
+ visit(foo_path(step, :skip_step => 'true'))
20
+ assert has_content?(:second)
21
+ end
22
+
23
+ test 'invalid step' do
24
+ step = :notastep
25
+ assert_raise(ActionView::MissingTemplate) do
26
+ visit(foo_path(step))
27
+ end
28
+ end
29
+
30
+ test 'finish' do
31
+ step = :finish
32
+ visit(foo_path(step))
33
+ assert has_content?('home')
34
+ end
35
+
36
+ end
@@ -0,0 +1,5 @@
1
+ # Define a bare test case to use with Capybara
2
+ class ActiveSupport::IntegrationCase < ActiveSupport::TestCase
3
+ include Capybara
4
+ include Rails.application.routes.url_helpers
5
+ end
@@ -0,0 +1,30 @@
1
+ # Configure Rails Envinronment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+
5
+
6
+ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
7
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
8
+ require "rails/test_help"
9
+
10
+
11
+
12
+
13
+ ActionMailer::Base.delivery_method = :test
14
+ ActionMailer::Base.perform_deliveries = true
15
+ ActionMailer::Base.default_url_options[:host] = "test.com"
16
+
17
+ Rails.backtrace_cleaner.remove_silencers!
18
+
19
+ # Configure capybara for integration testing
20
+ require "capybara/rails"
21
+ Capybara.default_driver = :rack_test
22
+ Capybara.default_selector = :css
23
+
24
+
25
+
26
+ # Run any available migration
27
+ ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
28
+
29
+ # Load support files
30
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class WickedTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Wicked
6
+ end
7
+ end
data/wicked.gemspec ADDED
@@ -0,0 +1,110 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "wicked"
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["schneems"]
12
+ s.date = "2012-01-16"
13
+ s.description = "Wicked is a Rails engine for producing easy wizard controllers"
14
+ s.email = "richard.schneeman@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "README.md"
17
+ ]
18
+ s.files = [
19
+ ".rvmrc",
20
+ "Gemfile",
21
+ "Gemfile.lock",
22
+ "MIT-LICENSE",
23
+ "README.md",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "app/controllers/wicked/wizard_controller.rb",
27
+ "lib/wicked.rb",
28
+ "lib/wicked/controller/concerns/path.rb",
29
+ "lib/wicked/controller/concerns/render_redirect.rb",
30
+ "lib/wicked/controller/concerns/steps.rb",
31
+ "lib/wicked/engine.rb",
32
+ "test/dummy/Rakefile",
33
+ "test/dummy/app/controllers/application_controller.rb",
34
+ "test/dummy/app/controllers/foo_controller.rb",
35
+ "test/dummy/app/helpers/application_helper.rb",
36
+ "test/dummy/app/views/foo/first.html.erb",
37
+ "test/dummy/app/views/foo/last_step.html.erb",
38
+ "test/dummy/app/views/foo/second.html.erb",
39
+ "test/dummy/app/views/layouts/application.html.erb",
40
+ "test/dummy/config.ru",
41
+ "test/dummy/config/application.rb",
42
+ "test/dummy/config/boot.rb",
43
+ "test/dummy/config/database.yml",
44
+ "test/dummy/config/environment.rb",
45
+ "test/dummy/config/environments/development.rb",
46
+ "test/dummy/config/environments/production.rb",
47
+ "test/dummy/config/environments/test.rb",
48
+ "test/dummy/config/initializers/backtrace_silencers.rb",
49
+ "test/dummy/config/initializers/inflections.rb",
50
+ "test/dummy/config/initializers/mime_types.rb",
51
+ "test/dummy/config/initializers/secret_token.rb",
52
+ "test/dummy/config/initializers/session_store.rb",
53
+ "test/dummy/config/locales/en.yml",
54
+ "test/dummy/config/routes.rb",
55
+ "test/dummy/public/404.html",
56
+ "test/dummy/public/422.html",
57
+ "test/dummy/public/500.html",
58
+ "test/dummy/public/favicon.ico",
59
+ "test/dummy/public/index.html",
60
+ "test/dummy/public/javascripts/application.js",
61
+ "test/dummy/public/javascripts/controls.js",
62
+ "test/dummy/public/javascripts/dragdrop.js",
63
+ "test/dummy/public/javascripts/effects.js",
64
+ "test/dummy/public/javascripts/prototype.js",
65
+ "test/dummy/public/javascripts/rails.js",
66
+ "test/dummy/public/stylesheets/.gitkeep",
67
+ "test/dummy/script/rails",
68
+ "test/integration/navigation_test.rb",
69
+ "test/support/integration_case.rb",
70
+ "test/test_helper.rb",
71
+ "test/wicked_test.rb",
72
+ "wicked.gemspec"
73
+ ]
74
+ s.homepage = "http://github.com/schneems/wicked"
75
+ s.licenses = ["MIT"]
76
+ s.require_paths = ["lib"]
77
+ s.rubygems_version = "1.8.10"
78
+ s.summary = "Use Wicked to turn your controller into a wizard"
79
+
80
+ if s.respond_to? :specification_version then
81
+ s.specification_version = 3
82
+
83
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
84
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.7"])
85
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.7"])
86
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
87
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
88
+ s.add_development_dependency(%q<rcov>, [">= 0"])
89
+ s.add_development_dependency(%q<capybara>, [">= 0.4.0"])
90
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
91
+ else
92
+ s.add_dependency(%q<activesupport>, [">= 3.0.7"])
93
+ s.add_dependency(%q<rails>, [">= 3.0.7"])
94
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
95
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
96
+ s.add_dependency(%q<rcov>, [">= 0"])
97
+ s.add_dependency(%q<capybara>, [">= 0.4.0"])
98
+ s.add_dependency(%q<sqlite3>, [">= 0"])
99
+ end
100
+ else
101
+ s.add_dependency(%q<activesupport>, [">= 3.0.7"])
102
+ s.add_dependency(%q<rails>, [">= 3.0.7"])
103
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
104
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
105
+ s.add_dependency(%q<rcov>, [">= 0"])
106
+ s.add_dependency(%q<capybara>, [">= 0.4.0"])
107
+ s.add_dependency(%q<sqlite3>, [">= 0"])
108
+ end
109
+ end
110
+
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wicked
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - schneems
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-16 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &70258641289800 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.0.7
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70258641289800
25
+ - !ruby/object:Gem::Dependency
26
+ name: rails
27
+ requirement: &70258641289320 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 3.0.7
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70258641289320
36
+ - !ruby/object:Gem::Dependency
37
+ name: jeweler
38
+ requirement: &70258641305220 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.6.4
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70258641305220
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: &70258641304740 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70258641304740
58
+ - !ruby/object:Gem::Dependency
59
+ name: rcov
60
+ requirement: &70258641304260 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70258641304260
69
+ - !ruby/object:Gem::Dependency
70
+ name: capybara
71
+ requirement: &70258641303780 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: 0.4.0
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70258641303780
80
+ - !ruby/object:Gem::Dependency
81
+ name: sqlite3
82
+ requirement: &70258641303300 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70258641303300
91
+ description: Wicked is a Rails engine for producing easy wizard controllers
92
+ email: richard.schneeman@gmail.com
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files:
96
+ - README.md
97
+ files:
98
+ - .rvmrc
99
+ - Gemfile
100
+ - Gemfile.lock
101
+ - MIT-LICENSE
102
+ - README.md
103
+ - Rakefile
104
+ - VERSION
105
+ - app/controllers/wicked/wizard_controller.rb
106
+ - lib/wicked.rb
107
+ - lib/wicked/controller/concerns/path.rb
108
+ - lib/wicked/controller/concerns/render_redirect.rb
109
+ - lib/wicked/controller/concerns/steps.rb
110
+ - lib/wicked/engine.rb
111
+ - test/dummy/Rakefile
112
+ - test/dummy/app/controllers/application_controller.rb
113
+ - test/dummy/app/controllers/foo_controller.rb
114
+ - test/dummy/app/helpers/application_helper.rb
115
+ - test/dummy/app/views/foo/first.html.erb
116
+ - test/dummy/app/views/foo/last_step.html.erb
117
+ - test/dummy/app/views/foo/second.html.erb
118
+ - test/dummy/app/views/layouts/application.html.erb
119
+ - test/dummy/config.ru
120
+ - test/dummy/config/application.rb
121
+ - test/dummy/config/boot.rb
122
+ - test/dummy/config/database.yml
123
+ - test/dummy/config/environment.rb
124
+ - test/dummy/config/environments/development.rb
125
+ - test/dummy/config/environments/production.rb
126
+ - test/dummy/config/environments/test.rb
127
+ - test/dummy/config/initializers/backtrace_silencers.rb
128
+ - test/dummy/config/initializers/inflections.rb
129
+ - test/dummy/config/initializers/mime_types.rb
130
+ - test/dummy/config/initializers/secret_token.rb
131
+ - test/dummy/config/initializers/session_store.rb
132
+ - test/dummy/config/locales/en.yml
133
+ - test/dummy/config/routes.rb
134
+ - test/dummy/public/404.html
135
+ - test/dummy/public/422.html
136
+ - test/dummy/public/500.html
137
+ - test/dummy/public/favicon.ico
138
+ - test/dummy/public/index.html
139
+ - test/dummy/public/javascripts/application.js
140
+ - test/dummy/public/javascripts/controls.js
141
+ - test/dummy/public/javascripts/dragdrop.js
142
+ - test/dummy/public/javascripts/effects.js
143
+ - test/dummy/public/javascripts/prototype.js
144
+ - test/dummy/public/javascripts/rails.js
145
+ - test/dummy/public/stylesheets/.gitkeep
146
+ - test/dummy/script/rails
147
+ - test/integration/navigation_test.rb
148
+ - test/support/integration_case.rb
149
+ - test/test_helper.rb
150
+ - test/wicked_test.rb
151
+ - wicked.gemspec
152
+ homepage: http://github.com/schneems/wicked
153
+ licenses:
154
+ - MIT
155
+ post_install_message:
156
+ rdoc_options: []
157
+ require_paths:
158
+ - lib
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ segments:
166
+ - 0
167
+ hash: 1697406785613766654
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ requirements: []
175
+ rubyforge_project:
176
+ rubygems_version: 1.8.10
177
+ signing_key:
178
+ specification_version: 3
179
+ summary: Use Wicked to turn your controller into a wizard
180
+ test_files: []