merit 0.7.1 → 0.8.0

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.
Files changed (71) hide show
  1. data/Gemfile +5 -0
  2. data/Gemfile.lock +13 -2
  3. data/README.md +72 -53
  4. data/TESTING.txt +7 -2
  5. data/lib/generators/merit/templates/merit.rb +1 -1
  6. data/lib/merit.rb +2 -1
  7. data/lib/merit/controller_extensions.rb +2 -2
  8. data/lib/merit/model_additions.rb +9 -2
  9. data/lib/merit/models/mongo_mapper/merit_action.rb +1 -0
  10. data/lib/merit/models/mongoid/merit_action.rb +13 -0
  11. data/lib/merit/models/mongoid/sash.rb +14 -0
  12. data/lib/merit/rule.rb +4 -2
  13. data/lib/merit/rules_rank.rb +7 -2
  14. data/merit.gemspec +5 -2
  15. data/test/dummy-mongoid/Rakefile +7 -0
  16. data/test/dummy-mongoid/app/controllers/application_controller.rb +7 -0
  17. data/test/dummy-mongoid/app/controllers/comments_controller.rb +90 -0
  18. data/test/dummy-mongoid/app/controllers/registrations_controller.rb +15 -0
  19. data/test/dummy-mongoid/app/controllers/users_controller.rb +67 -0
  20. data/test/dummy-mongoid/app/helpers/application_helper.rb +2 -0
  21. data/test/dummy-mongoid/app/models/comment.rb +17 -0
  22. data/test/dummy-mongoid/app/models/merit/badge_rules.rb +49 -0
  23. data/test/dummy-mongoid/app/models/merit/point_rules.rb +20 -0
  24. data/test/dummy-mongoid/app/models/merit/rank_rules.rb +24 -0
  25. data/test/dummy-mongoid/app/models/user.rb +30 -0
  26. data/test/dummy-mongoid/app/views/comments/_form.html.erb +29 -0
  27. data/test/dummy-mongoid/app/views/comments/edit.html.erb +6 -0
  28. data/test/dummy-mongoid/app/views/comments/index.html.erb +35 -0
  29. data/test/dummy-mongoid/app/views/comments/new.html.erb +5 -0
  30. data/test/dummy-mongoid/app/views/comments/show.html.erb +23 -0
  31. data/test/dummy-mongoid/app/views/layouts/application.html.erb +24 -0
  32. data/test/dummy-mongoid/app/views/users/_form.html.erb +22 -0
  33. data/test/dummy-mongoid/app/views/users/edit.html.erb +6 -0
  34. data/test/dummy-mongoid/app/views/users/index.html.erb +26 -0
  35. data/test/dummy-mongoid/app/views/users/new.html.erb +5 -0
  36. data/test/dummy-mongoid/app/views/users/show.html.erb +18 -0
  37. data/test/dummy-mongoid/config.ru +4 -0
  38. data/test/dummy-mongoid/config/application.rb +22 -0
  39. data/test/dummy-mongoid/config/boot.rb +10 -0
  40. data/test/dummy-mongoid/config/environment.rb +5 -0
  41. data/test/dummy-mongoid/config/environments/development.rb +25 -0
  42. data/test/dummy-mongoid/config/environments/production.rb +49 -0
  43. data/test/dummy-mongoid/config/environments/test.rb +35 -0
  44. data/test/dummy-mongoid/config/initializers/backtrace_silencers.rb +7 -0
  45. data/test/dummy-mongoid/config/initializers/inflections.rb +10 -0
  46. data/test/dummy-mongoid/config/initializers/merit.rb +37 -0
  47. data/test/dummy-mongoid/config/initializers/mime_types.rb +5 -0
  48. data/test/dummy-mongoid/config/initializers/secret_token.rb +7 -0
  49. data/test/dummy-mongoid/config/initializers/session_store.rb +8 -0
  50. data/test/dummy-mongoid/config/locales/en.yml +5 -0
  51. data/test/dummy-mongoid/config/mongoid.yml +14 -0
  52. data/test/dummy-mongoid/config/routes.rb +9 -0
  53. data/test/dummy-mongoid/db/seeds.rb +17 -0
  54. data/test/dummy-mongoid/public/404.html +26 -0
  55. data/test/dummy-mongoid/public/422.html +26 -0
  56. data/test/dummy-mongoid/public/500.html +26 -0
  57. data/test/dummy-mongoid/public/favicon.ico +0 -0
  58. data/test/dummy-mongoid/public/javascripts/application.js +2 -0
  59. data/test/dummy-mongoid/public/javascripts/controls.js +965 -0
  60. data/test/dummy-mongoid/public/javascripts/dragdrop.js +974 -0
  61. data/test/dummy-mongoid/public/javascripts/effects.js +1123 -0
  62. data/test/dummy-mongoid/public/javascripts/prototype.js +6001 -0
  63. data/test/dummy-mongoid/public/javascripts/rails.js +191 -0
  64. data/test/dummy-mongoid/public/stylesheets/.gitkeep +0 -0
  65. data/test/dummy-mongoid/public/stylesheets/scaffold.css +56 -0
  66. data/test/dummy-mongoid/script/rails +6 -0
  67. data/test/dummy/config/initializers/merit.rb +1 -1
  68. data/test/integration/navigation_test.rb +1 -1
  69. data/test/merit_unit_test.rb +3 -0
  70. data/test/test_helper.rb +20 -3
  71. metadata +92 -16
@@ -0,0 +1,191 @@
1
+ (function() {
2
+ // Technique from Juriy Zaytsev
3
+ // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
4
+ function isEventSupported(eventName) {
5
+ var el = document.createElement('div');
6
+ eventName = 'on' + eventName;
7
+ var isSupported = (eventName in el);
8
+ if (!isSupported) {
9
+ el.setAttribute(eventName, 'return;');
10
+ isSupported = typeof el[eventName] == 'function';
11
+ }
12
+ el = null;
13
+ return isSupported;
14
+ }
15
+
16
+ function isForm(element) {
17
+ return Object.isElement(element) && element.nodeName.toUpperCase() == 'FORM'
18
+ }
19
+
20
+ function isInput(element) {
21
+ if (Object.isElement(element)) {
22
+ var name = element.nodeName.toUpperCase()
23
+ return name == 'INPUT' || name == 'SELECT' || name == 'TEXTAREA'
24
+ }
25
+ else return false
26
+ }
27
+
28
+ var submitBubbles = isEventSupported('submit'),
29
+ changeBubbles = isEventSupported('change')
30
+
31
+ if (!submitBubbles || !changeBubbles) {
32
+ // augment the Event.Handler class to observe custom events when needed
33
+ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap(
34
+ function(init, element, eventName, selector, callback) {
35
+ init(element, eventName, selector, callback)
36
+ // is the handler being attached to an element that doesn't support this event?
37
+ if ( (!submitBubbles && this.eventName == 'submit' && !isForm(this.element)) ||
38
+ (!changeBubbles && this.eventName == 'change' && !isInput(this.element)) ) {
39
+ // "submit" => "emulated:submit"
40
+ this.eventName = 'emulated:' + this.eventName
41
+ }
42
+ }
43
+ )
44
+ }
45
+
46
+ if (!submitBubbles) {
47
+ // discover forms on the page by observing focus events which always bubble
48
+ document.on('focusin', 'form', function(focusEvent, form) {
49
+ // special handler for the real "submit" event (one-time operation)
50
+ if (!form.retrieve('emulated:submit')) {
51
+ form.on('submit', function(submitEvent) {
52
+ var emulated = form.fire('emulated:submit', submitEvent, true)
53
+ // if custom event received preventDefault, cancel the real one too
54
+ if (emulated.returnValue === false) submitEvent.preventDefault()
55
+ })
56
+ form.store('emulated:submit', true)
57
+ }
58
+ })
59
+ }
60
+
61
+ if (!changeBubbles) {
62
+ // discover form inputs on the page
63
+ document.on('focusin', 'input, select, texarea', function(focusEvent, input) {
64
+ // special handler for real "change" events
65
+ if (!input.retrieve('emulated:change')) {
66
+ input.on('change', function(changeEvent) {
67
+ input.fire('emulated:change', changeEvent, true)
68
+ })
69
+ input.store('emulated:change', true)
70
+ }
71
+ })
72
+ }
73
+
74
+ function handleRemote(element) {
75
+ var method, url, params;
76
+
77
+ var event = element.fire("ajax:before");
78
+ if (event.stopped) return false;
79
+
80
+ if (element.tagName.toLowerCase() === 'form') {
81
+ method = element.readAttribute('method') || 'post';
82
+ url = element.readAttribute('action');
83
+ params = element.serialize();
84
+ } else {
85
+ method = element.readAttribute('data-method') || 'get';
86
+ url = element.readAttribute('href');
87
+ params = {};
88
+ }
89
+
90
+ new Ajax.Request(url, {
91
+ method: method,
92
+ parameters: params,
93
+ evalScripts: true,
94
+
95
+ onComplete: function(request) { element.fire("ajax:complete", request); },
96
+ onSuccess: function(request) { element.fire("ajax:success", request); },
97
+ onFailure: function(request) { element.fire("ajax:failure", request); }
98
+ });
99
+
100
+ element.fire("ajax:after");
101
+ }
102
+
103
+ function handleMethod(element) {
104
+ var method = element.readAttribute('data-method'),
105
+ url = element.readAttribute('href'),
106
+ csrf_param = $$('meta[name=csrf-param]')[0],
107
+ csrf_token = $$('meta[name=csrf-token]')[0];
108
+
109
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
110
+ element.parentNode.insert(form);
111
+
112
+ if (method !== 'post') {
113
+ var field = new Element('input', { type: 'hidden', name: '_method', value: method });
114
+ form.insert(field);
115
+ }
116
+
117
+ if (csrf_param) {
118
+ var param = csrf_param.readAttribute('content'),
119
+ token = csrf_token.readAttribute('content'),
120
+ field = new Element('input', { type: 'hidden', name: param, value: token });
121
+ form.insert(field);
122
+ }
123
+
124
+ form.submit();
125
+ }
126
+
127
+
128
+ document.on("click", "*[data-confirm]", function(event, element) {
129
+ var message = element.readAttribute('data-confirm');
130
+ if (!confirm(message)) event.stop();
131
+ });
132
+
133
+ document.on("click", "a[data-remote]", function(event, element) {
134
+ if (event.stopped) return;
135
+ handleRemote(element);
136
+ event.stop();
137
+ });
138
+
139
+ document.on("click", "a[data-method]", function(event, element) {
140
+ if (event.stopped) return;
141
+ handleMethod(element);
142
+ event.stop();
143
+ });
144
+
145
+ document.on("submit", function(event) {
146
+ var element = event.findElement(),
147
+ message = element.readAttribute('data-confirm');
148
+ if (message && !confirm(message)) {
149
+ event.stop();
150
+ return false;
151
+ }
152
+
153
+ var inputs = element.select("input[type=submit][data-disable-with]");
154
+ inputs.each(function(input) {
155
+ input.disabled = true;
156
+ input.writeAttribute('data-original-value', input.value);
157
+ input.value = input.readAttribute('data-disable-with');
158
+ });
159
+
160
+ var element = event.findElement("form[data-remote]");
161
+ if (element) {
162
+ handleRemote(element);
163
+ event.stop();
164
+ }
165
+ });
166
+
167
+ document.on("ajax:after", "form", function(event, element) {
168
+ var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
169
+ inputs.each(function(input) {
170
+ input.value = input.readAttribute('data-original-value');
171
+ input.removeAttribute('data-original-value');
172
+ input.disabled = false;
173
+ });
174
+ });
175
+
176
+ Ajax.Responders.register({
177
+ onCreate: function(request) {
178
+ var csrf_meta_tag = $$('meta[name=csrf-token]')[0];
179
+
180
+ if (csrf_meta_tag) {
181
+ var header = 'X-CSRF-Token',
182
+ token = csrf_meta_tag.readAttribute('content');
183
+
184
+ if (!request.options.requestHeaders) {
185
+ request.options.requestHeaders = {};
186
+ }
187
+ request.options.requestHeaders[header] = token;
188
+ }
189
+ }
190
+ });
191
+ })();
File without changes
@@ -0,0 +1,56 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
@@ -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'
@@ -3,7 +3,7 @@ Merit.setup do |config|
3
3
  # Check rules on each request or in background
4
4
  # config.checks_on_each_request = true
5
5
 
6
- # Define ORM. Could be :active_record (default) and :mongo_mapper
6
+ # Define ORM. Could be :active_record (default), :mongo_mapper and :mongoid
7
7
  # config.orm = :active_record
8
8
  end
9
9
 
@@ -102,7 +102,7 @@ class NavigationTest < ActiveSupport::IntegrationCase
102
102
  user = User.where(:name => 'a').first
103
103
  assert_equal 40, user.points, 'Commenting should grant 20 points'
104
104
 
105
- visit "/comments/1/vote/4"
105
+ visit "/comments/#{Comment.last.id}/vote/4"
106
106
  user = User.first
107
107
  assert_equal 45, user.points, 'Voting comments should grant 5 points'
108
108
  end
@@ -14,6 +14,9 @@ class MeritUnitTest < ActiveSupport::TestCase
14
14
  end
15
15
 
16
16
  test "BadgeSash knows it's related badge" do
17
+ # No BadgeSash model for Mongoid
18
+ return if ENV["ORM"] == "mongoid"
19
+
17
20
  Badge.create(:id => 99, :name => 'test-badge')
18
21
  badge_sash = BadgesSash.new
19
22
  badge_sash.badge_id = 99
data/test/test_helper.rb CHANGED
@@ -12,7 +12,11 @@ SimpleCov.adapters.define 'rubygem' do
12
12
  end
13
13
  SimpleCov.start 'rubygem' if ENV["COVERAGE"]
14
14
 
15
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
15
+ if ENV["ORM"] == "mongoid"
16
+ require File.expand_path("../dummy-mongoid/config/environment.rb", __FILE__)
17
+ else
18
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
19
+ end
16
20
  require "rails/test_help"
17
21
 
18
22
  ActionMailer::Base.delivery_method = :test
@@ -26,8 +30,21 @@ require "capybara/rails"
26
30
  Capybara.default_driver = :rack_test
27
31
  Capybara.default_selector = :css
28
32
 
29
- # Run any available migration
30
- ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
33
+ if ENV["ORM"] == "mongoid"
34
+ puts 'Testing with ORM Mongoid'
35
+ class ActiveSupport::TestCase
36
+ def teardown
37
+ Mongoid.database.collections.each do |collection|
38
+ collection.remove unless collection.name =~ /^system\./
39
+ end
40
+ end
41
+ end
42
+ else
43
+ puts 'Testing with ORM ActiveRecord'
44
+ # Run any available migration
45
+ ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
46
+ end
31
47
 
32
48
  # Load support files
33
49
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
50
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-03 00:00:00.000000000 Z
12
+ date: 2012-06-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ambry
16
- requirement: &70152203180420 !ruby/object:Gem::Requirement
16
+ requirement: &70205487291520 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70152203180420
24
+ version_requirements: *70205487291520
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rails
27
- requirement: &70152203179200 !ruby/object:Gem::Requirement
27
+ requirement: &70205487291040 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.2.3
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70152203179200
35
+ version_requirements: *70205487291040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sqlite3
38
- requirement: &70152203178280 !ruby/object:Gem::Requirement
38
+ requirement: &70205487290660 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70152203178280
46
+ version_requirements: *70205487290660
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: haml
49
- requirement: &70152203177500 !ruby/object:Gem::Requirement
49
+ requirement: &70205487290200 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70152203177500
57
+ version_requirements: *70205487290200
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: capybara
60
- requirement: &70152203176360 !ruby/object:Gem::Requirement
60
+ requirement: &70205487289780 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,21 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70152203176360
68
+ version_requirements: *70205487289780
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
- requirement: &70152203175780 !ruby/object:Gem::Requirement
71
+ requirement: &70205487289360 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70205487289360
80
+ - !ruby/object:Gem::Dependency
81
+ name: bson_ext
82
+ requirement: &70205487288940 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ! '>='
@@ -76,7 +87,18 @@ dependencies:
76
87
  version: '0'
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *70152203175780
90
+ version_requirements: *70205487288940
91
+ - !ruby/object:Gem::Dependency
92
+ name: mongoid
93
+ requirement: &70205487288440 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: 2.0.0
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70205487288440
80
102
  description: Manage badges, points and rankings (reputation) of resources in a Rails
81
103
  application.
82
104
  email: tutecosta@gmail.com
@@ -113,11 +135,65 @@ files:
113
135
  - lib/merit/models/active_record/sash.rb
114
136
  - lib/merit/models/mongo_mapper/merit_action.rb
115
137
  - lib/merit/models/mongo_mapper/sash.rb
138
+ - lib/merit/models/mongoid/merit_action.rb
139
+ - lib/merit/models/mongoid/sash.rb
116
140
  - lib/merit/rule.rb
117
141
  - lib/merit/rules_badge.rb
118
142
  - lib/merit/rules_points.rb
119
143
  - lib/merit/rules_rank.rb
120
144
  - merit.gemspec
145
+ - test/dummy-mongoid/Rakefile
146
+ - test/dummy-mongoid/app/controllers/application_controller.rb
147
+ - test/dummy-mongoid/app/controllers/comments_controller.rb
148
+ - test/dummy-mongoid/app/controllers/registrations_controller.rb
149
+ - test/dummy-mongoid/app/controllers/users_controller.rb
150
+ - test/dummy-mongoid/app/helpers/application_helper.rb
151
+ - test/dummy-mongoid/app/models/comment.rb
152
+ - test/dummy-mongoid/app/models/merit/badge_rules.rb
153
+ - test/dummy-mongoid/app/models/merit/point_rules.rb
154
+ - test/dummy-mongoid/app/models/merit/rank_rules.rb
155
+ - test/dummy-mongoid/app/models/user.rb
156
+ - test/dummy-mongoid/app/views/comments/_form.html.erb
157
+ - test/dummy-mongoid/app/views/comments/edit.html.erb
158
+ - test/dummy-mongoid/app/views/comments/index.html.erb
159
+ - test/dummy-mongoid/app/views/comments/new.html.erb
160
+ - test/dummy-mongoid/app/views/comments/show.html.erb
161
+ - test/dummy-mongoid/app/views/layouts/application.html.erb
162
+ - test/dummy-mongoid/app/views/users/_form.html.erb
163
+ - test/dummy-mongoid/app/views/users/edit.html.erb
164
+ - test/dummy-mongoid/app/views/users/index.html.erb
165
+ - test/dummy-mongoid/app/views/users/new.html.erb
166
+ - test/dummy-mongoid/app/views/users/show.html.erb
167
+ - test/dummy-mongoid/config.ru
168
+ - test/dummy-mongoid/config/application.rb
169
+ - test/dummy-mongoid/config/boot.rb
170
+ - test/dummy-mongoid/config/environment.rb
171
+ - test/dummy-mongoid/config/environments/development.rb
172
+ - test/dummy-mongoid/config/environments/production.rb
173
+ - test/dummy-mongoid/config/environments/test.rb
174
+ - test/dummy-mongoid/config/initializers/backtrace_silencers.rb
175
+ - test/dummy-mongoid/config/initializers/inflections.rb
176
+ - test/dummy-mongoid/config/initializers/merit.rb
177
+ - test/dummy-mongoid/config/initializers/mime_types.rb
178
+ - test/dummy-mongoid/config/initializers/secret_token.rb
179
+ - test/dummy-mongoid/config/initializers/session_store.rb
180
+ - test/dummy-mongoid/config/locales/en.yml
181
+ - test/dummy-mongoid/config/mongoid.yml
182
+ - test/dummy-mongoid/config/routes.rb
183
+ - test/dummy-mongoid/db/seeds.rb
184
+ - test/dummy-mongoid/public/404.html
185
+ - test/dummy-mongoid/public/422.html
186
+ - test/dummy-mongoid/public/500.html
187
+ - test/dummy-mongoid/public/favicon.ico
188
+ - test/dummy-mongoid/public/javascripts/application.js
189
+ - test/dummy-mongoid/public/javascripts/controls.js
190
+ - test/dummy-mongoid/public/javascripts/dragdrop.js
191
+ - test/dummy-mongoid/public/javascripts/effects.js
192
+ - test/dummy-mongoid/public/javascripts/prototype.js
193
+ - test/dummy-mongoid/public/javascripts/rails.js
194
+ - test/dummy-mongoid/public/stylesheets/.gitkeep
195
+ - test/dummy-mongoid/public/stylesheets/scaffold.css
196
+ - test/dummy-mongoid/script/rails
121
197
  - test/dummy/Rakefile
122
198
  - test/dummy/app/controllers/application_controller.rb
123
199
  - test/dummy/app/controllers/comments_controller.rb