seems_rateable 1.0.13 → 2.0.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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/Gemfile +3 -0
  4. data/README.md +41 -61
  5. data/Rakefile +8 -2
  6. data/app/assets/javascripts/seems_rateable/index.js +1 -0
  7. data/{lib/generators/seems_rateable/install/templates → app/assets/javascripts/seems_rateable}/jRating.js.erb +225 -225
  8. data/app/assets/stylesheets/seems_rateable/{application.css → index.css.erb} +2 -2
  9. data/app/controllers/seems_rateable/application_controller.rb +1 -3
  10. data/app/controllers/seems_rateable/rates_controller.rb +31 -0
  11. data/app/models/seems_rateable/rate.rb +2 -2
  12. data/bin/rails +8 -0
  13. data/config/routes.rb +1 -1
  14. data/lib/generators/seems_rateable/install/install_generator.rb +34 -28
  15. data/lib/generators/seems_rateable/install/templates/initializer.rb +5 -2
  16. data/lib/generators/seems_rateable/install/templates/rateable.js.erb +12 -22
  17. data/lib/generators/seems_rateable/install/templates/rates_migration.rb +6 -9
  18. data/lib/generators/seems_rateable/manifest_finder.rb +25 -0
  19. data/lib/generators/seems_rateable/migration_helpers.rb +21 -0
  20. data/lib/generators/seems_rateable/uninstall/templates/drop_seems_rateable_rates_table.rb +9 -0
  21. data/lib/generators/seems_rateable/uninstall/uninstall_generator.rb +50 -0
  22. data/lib/generators/seems_rateable/uninstall_old/templates/drop_seems_rateable_cached_ratings_table.rb +9 -0
  23. data/lib/generators/seems_rateable/uninstall_old/templates/drop_seems_rateable_rates_table.rb +9 -0
  24. data/lib/generators/seems_rateable/uninstall_old/uninstall_old_generator.rb +48 -0
  25. data/lib/seems_rateable.rb +22 -7
  26. data/lib/seems_rateable/builder.rb +35 -0
  27. data/lib/seems_rateable/builder/html_options.rb +37 -0
  28. data/lib/seems_rateable/configuration.rb +23 -0
  29. data/lib/seems_rateable/engine.rb +12 -7
  30. data/lib/seems_rateable/errors.rb +3 -17
  31. data/lib/seems_rateable/helpers/action_view_extension.rb +18 -0
  32. data/lib/seems_rateable/helpers/current_rater.rb +15 -0
  33. data/lib/seems_rateable/models/active_record_extension.rb +23 -0
  34. data/lib/seems_rateable/models/active_record_extension/rateable.rb +26 -0
  35. data/lib/seems_rateable/models/active_record_extension/rater.rb +11 -0
  36. data/lib/seems_rateable/rating.rb +19 -0
  37. data/lib/seems_rateable/routes.rb +1 -1
  38. data/lib/seems_rateable/version.rb +1 -1
  39. data/seems_rateable.gemspec +32 -0
  40. data/spec/builder_spec.rb +53 -0
  41. data/spec/controllers/rates_controller_spec.rb +56 -0
  42. data/spec/dummy/README.rdoc +28 -0
  43. data/spec/dummy/Rakefile +6 -0
  44. data/{app/assets/javascripts/seems_rateable → spec/dummy/app/assets/javascripts}/application.js +4 -3
  45. data/spec/dummy/app/assets/javascripts/posts.js +2 -0
  46. data/spec/dummy/app/assets/javascripts/rateable/rateable.js.erb +15 -0
  47. data/spec/dummy/app/assets/stylesheets/application.css +19 -0
  48. data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
  49. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  50. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  51. data/spec/dummy/app/controllers/posts_controller.rb +58 -0
  52. data/spec/dummy/app/models/.keep +0 -0
  53. data/spec/dummy/app/models/concerns/.keep +0 -0
  54. data/spec/dummy/app/models/post.rb +3 -0
  55. data/spec/dummy/app/models/user.rb +5 -0
  56. data/spec/dummy/app/views/layouts/application.html.erb +26 -0
  57. data/spec/dummy/app/views/posts/_form.html.erb +21 -0
  58. data/spec/dummy/app/views/posts/edit.html.erb +6 -0
  59. data/spec/dummy/app/views/posts/index.html.erb +28 -0
  60. data/spec/dummy/app/views/posts/new.html.erb +5 -0
  61. data/spec/dummy/app/views/posts/show.html.erb +9 -0
  62. data/spec/dummy/bin/bundle +3 -0
  63. data/spec/dummy/bin/rails +4 -0
  64. data/spec/dummy/bin/rake +4 -0
  65. data/spec/dummy/config.ru +4 -0
  66. data/spec/dummy/config/application.rb +42 -0
  67. data/spec/dummy/config/boot.rb +5 -0
  68. data/spec/dummy/config/database.yml +25 -0
  69. data/spec/dummy/config/environment.rb +5 -0
  70. data/spec/dummy/config/environments/development.rb +29 -0
  71. data/spec/dummy/config/environments/production.rb +80 -0
  72. data/spec/dummy/config/environments/test.rb +36 -0
  73. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  74. data/spec/dummy/config/initializers/devise.rb +254 -0
  75. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  76. data/spec/dummy/config/initializers/inflections.rb +16 -0
  77. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  78. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  79. data/spec/dummy/config/initializers/seems_rateable.rb +4 -0
  80. data/spec/dummy/config/initializers/session_store.rb +3 -0
  81. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  82. data/spec/dummy/config/locales/devise.en.yml +59 -0
  83. data/spec/dummy/config/locales/en.yml +23 -0
  84. data/spec/dummy/config/routes.rb +8 -0
  85. data/spec/dummy/db/migrate/20140506144141_create_posts.rb +9 -0
  86. data/spec/dummy/db/migrate/20140506144841_devise_create_users.rb +42 -0
  87. data/spec/dummy/db/migrate/20140520170316_create_seems_rateable_rates.rb +15 -0
  88. data/spec/dummy/db/schema.rb +54 -0
  89. data/spec/dummy/lib/assets/.keep +0 -0
  90. data/spec/dummy/public/404.html +58 -0
  91. data/spec/dummy/public/422.html +58 -0
  92. data/spec/dummy/public/500.html +57 -0
  93. data/spec/dummy/public/favicon.ico +0 -0
  94. data/spec/factories/posts.rb +5 -0
  95. data/spec/factories/rate.rb +7 -0
  96. data/spec/factories/users.rb +7 -0
  97. data/spec/features/rating_spec.rb +63 -0
  98. data/spec/helpers/action_view_extension_spec.rb +59 -0
  99. data/spec/models/active_record_extension_spec.rb +105 -0
  100. data/spec/models/rate_spec.rb +6 -0
  101. data/spec/rating_spec.rb +70 -0
  102. data/spec/spec_helper.rb +45 -0
  103. data/spec/support/dummies.rb +19 -0
  104. metadata +263 -25
  105. data/app/controllers/seems_rateable/ratings_controller.rb +0 -13
  106. data/app/models/seems_rateable/cached_rating.rb +0 -5
  107. data/lib/generators/seems_rateable/install/templates/cached_ratings_migration.rb +0 -17
  108. data/lib/seems_rateable/helpers.rb +0 -27
  109. data/lib/seems_rateable/model.rb +0 -91
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe SeemsRateable::Helpers::ActionViewExtension, type: :feature do
4
+ let(:user) { FactoryGirl.create(:user) }
5
+ let(:rateable) { DummyModel.create }
6
+ let(:view) { DummyView.new }
7
+
8
+ describe "#rating_for" do
9
+ context "valid rateable object" do
10
+ before do
11
+ DummyModel.seems_rateable
12
+ end
13
+
14
+ it "builds a new voting" do
15
+ SeemsRateable::Builder.should_receive(:build).with(rateable, an_instance_of(Hash))
16
+ view.rating_for rateable
17
+ end
18
+
19
+ describe "disabled rating" do
20
+ shared_examples "passing disabled true" do |options={}|
21
+ it "passes disabled: true as an option" do
22
+ SeemsRateable::Builder.should_receive(:build).with(rateable, hash_including(disabled: true))
23
+ view.rating_for rateable, options
24
+ end
25
+ end
26
+
27
+ context "when no current rater" do
28
+ it_behaves_like "passing disabled true"
29
+ end
30
+
31
+ context "when user has already rated" do
32
+ let(:rate) { FactoryGirl.create(:rate, rateable: rateable) }
33
+
34
+ before do
35
+ DummyView.stub(:current_rater).and_return(rate.rater)
36
+ end
37
+
38
+ it_behaves_like "passing disabled true"
39
+ end
40
+
41
+ context "when it is given explicitly" do
42
+ before do
43
+ DummyView.stub(:current_rater).and_return(user)
44
+ end
45
+
46
+ it_behaves_like "passing disabled true", disabled: true
47
+ end
48
+ end
49
+ end
50
+
51
+ context "invalid rateable object" do
52
+ it "raises an InvalidRateableError" do
53
+ expect {
54
+ view.rating_for "wtf?"
55
+ }.to raise_error(SeemsRateable::Errors::InvalidRateableError)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,105 @@
1
+ require 'spec_helper'
2
+
3
+ describe SeemsRateable::Models::ActiveRecordExtension do
4
+ describe "#seems_rateable" do
5
+ subject { DummyModel.seems_rateable.new }
6
+
7
+ context "without any dimension" do
8
+ it { should have_many(:_rates).class_name(SeemsRateable::Rate) }
9
+ it { should have_many(:_raters).through(:_rates).dependent(:destroy) }
10
+ end
11
+
12
+ context "with dimensions" do
13
+ dimensions = [:speed, :quality]
14
+ let(:dimensions) { dimensions }
15
+
16
+ subject { DummyModel.seems_rateable(*dimensions).new }
17
+
18
+ dimensions.each do |dimension|
19
+ it { should have_many(:"#{dimension}_rates").conditions(dimension: dimension) }
20
+ it { should have_many(:"#{dimension}_raters").through(:"#{dimension}_rates") }
21
+ end
22
+ end
23
+
24
+ it { should be_a(SeemsRateable::Models::ActiveRecordExtension::Rateable) }
25
+ end
26
+
27
+ describe "#seems_rateable_rater" do
28
+ subject { DummyModel.seems_rateable_rater.new }
29
+
30
+ it { should have_many(:rates_given).class_name(SeemsRateable::Rate) }
31
+ it { should be_a(SeemsRateable::Models::ActiveRecordExtension::Rater) }
32
+ end
33
+
34
+ describe SeemsRateable::Models::ActiveRecordExtension::Rateable do
35
+ subject do
36
+ Class.new.send(:include, SeemsRateable::Models::ActiveRecordExtension::Rateable).new
37
+ end
38
+
39
+ %w[rates raters].each do |method|
40
+ describe "##{method}" do
41
+ context "valid dimension" do
42
+ context "no dimension" do
43
+ it "sends _#{method}" do
44
+ subject.should_receive(:"_#{method}")
45
+ subject.send method
46
+ end
47
+ end
48
+
49
+ context "existent dimension" do
50
+ let(:dimension) { 'quality' }
51
+
52
+ before do
53
+ subject.stub(dimension + '_' + method).and_return(true)
54
+ end
55
+
56
+ it "sends quality_rates" do
57
+ subject.should_receive(:"#{dimension}_#{method}")
58
+ subject.send method, dimension
59
+ end
60
+ end
61
+
62
+ context "non-existent dimension" do
63
+ it "raises NonExistentDimension error" do
64
+ expect { subject.send method, "foo" }.to raise_error
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+
71
+ describe "#rating" do
72
+ let(:rates) { SeemsRateable::Rate.all }
73
+
74
+ before do
75
+ subject.stub(:rates).and_return(rates)
76
+ end
77
+
78
+ it "initializes a SeemsRateable::Rating instance with its rates" do
79
+ subject.rating.should be_a(SeemsRateable::Rating)
80
+ subject.rating.rates.should == rates
81
+ end
82
+ end
83
+
84
+ describe "#rated_by" do
85
+ context "when passed rater is nil" do
86
+ it "returns does not query the database and returns nil" do
87
+ subject.rated_by?(nil).should be_nil
88
+ end
89
+ end
90
+
91
+ context "when passed rater is not nil" do
92
+ before do
93
+ subject.stub(:raters).and_return([])
94
+ end
95
+
96
+ let(:rater) { "a random guy" }
97
+
98
+ it "checks wheter its raters includes the rater" do
99
+ subject.raters.should_receive(:include?).with(rater)
100
+ subject.rated_by?(rater)
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,6 @@
1
+ require 'spec_helper'
2
+
3
+ describe SeemsRateable::Rate do
4
+ it { should belong_to(:rateable) }
5
+ it { should belong_to(:rater) }
6
+ end
@@ -0,0 +1,70 @@
1
+ require 'spec_helper'
2
+
3
+ describe SeemsRateable::Rating do
4
+ let(:rated_rateable) { FactoryGirl.create(:post) }
5
+ let(:unrated_rateable) { FactoryGirl.create(:post) }
6
+
7
+ let(:stars) { [1, 5, 4, 3, 5] }
8
+
9
+ let(:rates) { rated_rateable.rates }
10
+ let(:no_rates) { unrated_rateable.rates }
11
+
12
+ before do
13
+ stars.each do |value|
14
+ FactoryGirl.create(:rate, stars: value, rateable: rated_rateable)
15
+ end
16
+ end
17
+
18
+ def rating(rates)
19
+ SeemsRateable::Rating.new(rates)
20
+ end
21
+
22
+ subject { rating(rates) }
23
+
24
+ describe "#rates" do
25
+ subject { super().rates }
26
+
27
+ it { should be_a(ActiveRecord::Relation) }
28
+ its(:model) { should equal(SeemsRateable::Rate) }
29
+ end
30
+
31
+ describe "#stars" do
32
+ it "plucks rates for stars" do
33
+ subject.rates.should_receive(:pluck).with(:stars)
34
+ subject.stars
35
+ end
36
+ end
37
+
38
+ describe "#count" do
39
+ it "returns length of the plucked stars array" do
40
+ subject.stars.should_receive(:length)
41
+ subject.count
42
+ end
43
+ end
44
+
45
+ describe "#sum" do
46
+ it "sums the plucked stars array" do
47
+ subject.stars.should_receive(:inject).with(:+)
48
+ subject.sum
49
+ end
50
+ end
51
+
52
+ describe "average" do
53
+ context "with any rates" do
54
+ it "divides the sum by the length of stars" do
55
+ sum = subject.sum
56
+ count = subject.count
57
+
58
+ subject.average.should == sum/count
59
+ end
60
+ end
61
+
62
+ context "without any rate" do
63
+ subject { rating(no_rates) }
64
+
65
+ it "returns zero" do
66
+ subject.average.should == 0
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,45 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+
3
+ require 'simplecov'
4
+ SimpleCov.start
5
+
6
+ require File.expand_path("../dummy/config/environment", __FILE__)
7
+ require 'rspec/rails'
8
+ require 'rspec/autorun'
9
+
10
+ require 'factory_girl_rails'
11
+ require 'shoulda-matchers'
12
+ require 'database_cleaner'
13
+ require 'pry-rails'
14
+
15
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
16
+
17
+ ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
18
+
19
+ Rails.backtrace_cleaner.remove_silencers!
20
+
21
+ RSpec.configure do |config|
22
+ config.use_transactional_fixtures = false
23
+ config.infer_base_class_for_anonymous_controllers = false
24
+ config.order = "random"
25
+
26
+ config.before(:suite) do
27
+ DatabaseCleaner.clean_with(:truncation)
28
+ end
29
+
30
+ config.before(:each) do
31
+ DatabaseCleaner.strategy = :transaction
32
+ end
33
+
34
+ config.before(:each, js: true) do
35
+ DatabaseCleaner.strategy = :truncation
36
+ end
37
+
38
+ config.before(:each) do
39
+ DatabaseCleaner.start
40
+ end
41
+
42
+ config.after(:each) do
43
+ DatabaseCleaner.clean
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ def active_record_extended
2
+ ActiveRecord::Base.extend(SeemsRateable::Models::ActiveRecordExtension)
3
+ end
4
+
5
+ def action_view_extended
6
+ ActionView::Base.extend(SeemsRateable::Helpers::ActionViewExtension)
7
+ end
8
+
9
+ class DummyModel < active_record_extended;end
10
+
11
+ class DummyView < action_view_extended
12
+ def current_rater
13
+ nil
14
+ end
15
+ end
16
+
17
+ ActiveRecord::Migration.verbose = false
18
+ ActiveRecord::Migration.create_table(:dummy_models) unless ActiveRecord::Migration.tables.include?("dummy_models")
19
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seems_rateable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.13
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Toth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-20 00:00:00.000000000 Z
11
+ date: 2014-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 4.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 4.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jquery-rails
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: sqlite3
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: devise
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rspec-rails
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +94,34 @@ dependencies:
66
94
  - - '>='
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: factory_girl_rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: database_cleaner
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
69
125
  - !ruby/object:Gem::Dependency
70
126
  name: capybara
71
127
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +137,49 @@ dependencies:
81
137
  - !ruby/object:Gem::Version
82
138
  version: '0'
83
139
  - !ruby/object:Gem::Dependency
84
- name: factory_girl_rails
140
+ name: selenium-webdriver
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: shoulda-matchers
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: simplecov
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: generator_spec
85
183
  requirement: !ruby/object:Gem::Requirement
86
184
  requirements:
87
185
  - - '>='
@@ -96,37 +194,117 @@ dependencies:
96
194
  version: '0'
97
195
  description: Star rating engine using jQuery plugin jRating for Rails applications
98
196
  email:
99
- - proximin@gmail.com
197
+ - peter@petertoth.me
100
198
  executables: []
101
199
  extensions: []
102
200
  extra_rdoc_files: []
103
201
  files:
104
- - app/assets/stylesheets/seems_rateable/application.css
105
- - app/assets/javascripts/seems_rateable/application.js
106
- - app/assets/images/seems_rateable/stars.png
107
- - app/assets/images/seems_rateable/small.png
202
+ - .gitignore
203
+ - Gemfile
204
+ - MIT-LICENSE
205
+ - README.md
206
+ - Rakefile
108
207
  - app/assets/images/seems_rateable/bg_jRatingInfos.png
109
- - app/controllers/seems_rateable/ratings_controller.rb
208
+ - app/assets/images/seems_rateable/small.png
209
+ - app/assets/images/seems_rateable/stars.png
210
+ - app/assets/javascripts/seems_rateable/index.js
211
+ - app/assets/javascripts/seems_rateable/jRating.js.erb
212
+ - app/assets/stylesheets/seems_rateable/index.css.erb
110
213
  - app/controllers/seems_rateable/application_controller.rb
214
+ - app/controllers/seems_rateable/rates_controller.rb
111
215
  - app/models/seems_rateable/rate.rb
112
- - app/models/seems_rateable/cached_rating.rb
216
+ - bin/rails
113
217
  - config/routes.rb
114
- - lib/seems_rateable.rb
115
218
  - lib/generators/seems_rateable/install/install_generator.rb
116
219
  - lib/generators/seems_rateable/install/templates/initializer.rb
117
220
  - lib/generators/seems_rateable/install/templates/rateable.js.erb
118
221
  - lib/generators/seems_rateable/install/templates/rates_migration.rb
119
- - lib/generators/seems_rateable/install/templates/cached_ratings_migration.rb
120
- - lib/generators/seems_rateable/install/templates/jRating.js.erb
121
- - lib/seems_rateable/version.rb
122
- - lib/seems_rateable/helpers.rb
123
- - lib/seems_rateable/routes.rb
124
- - lib/seems_rateable/errors.rb
222
+ - lib/generators/seems_rateable/manifest_finder.rb
223
+ - lib/generators/seems_rateable/migration_helpers.rb
224
+ - lib/generators/seems_rateable/uninstall/templates/drop_seems_rateable_rates_table.rb
225
+ - lib/generators/seems_rateable/uninstall/uninstall_generator.rb
226
+ - lib/generators/seems_rateable/uninstall_old/templates/drop_seems_rateable_cached_ratings_table.rb
227
+ - lib/generators/seems_rateable/uninstall_old/templates/drop_seems_rateable_rates_table.rb
228
+ - lib/generators/seems_rateable/uninstall_old/uninstall_old_generator.rb
229
+ - lib/seems_rateable.rb
230
+ - lib/seems_rateable/builder.rb
231
+ - lib/seems_rateable/builder/html_options.rb
232
+ - lib/seems_rateable/configuration.rb
125
233
  - lib/seems_rateable/engine.rb
126
- - lib/seems_rateable/model.rb
127
- - MIT-LICENSE
128
- - Rakefile
129
- - README.md
234
+ - lib/seems_rateable/errors.rb
235
+ - lib/seems_rateable/helpers/action_view_extension.rb
236
+ - lib/seems_rateable/helpers/current_rater.rb
237
+ - lib/seems_rateable/models/active_record_extension.rb
238
+ - lib/seems_rateable/models/active_record_extension/rateable.rb
239
+ - lib/seems_rateable/models/active_record_extension/rater.rb
240
+ - lib/seems_rateable/rating.rb
241
+ - lib/seems_rateable/routes.rb
242
+ - lib/seems_rateable/version.rb
243
+ - seems_rateable.gemspec
244
+ - spec/builder_spec.rb
245
+ - spec/controllers/rates_controller_spec.rb
246
+ - spec/dummy/README.rdoc
247
+ - spec/dummy/Rakefile
248
+ - spec/dummy/app/assets/javascripts/application.js
249
+ - spec/dummy/app/assets/javascripts/posts.js
250
+ - spec/dummy/app/assets/javascripts/rateable/rateable.js.erb
251
+ - spec/dummy/app/assets/stylesheets/application.css
252
+ - spec/dummy/app/assets/stylesheets/scaffold.css
253
+ - spec/dummy/app/controllers/application_controller.rb
254
+ - spec/dummy/app/controllers/concerns/.keep
255
+ - spec/dummy/app/controllers/posts_controller.rb
256
+ - spec/dummy/app/models/.keep
257
+ - spec/dummy/app/models/concerns/.keep
258
+ - spec/dummy/app/models/post.rb
259
+ - spec/dummy/app/models/user.rb
260
+ - spec/dummy/app/views/layouts/application.html.erb
261
+ - spec/dummy/app/views/posts/_form.html.erb
262
+ - spec/dummy/app/views/posts/edit.html.erb
263
+ - spec/dummy/app/views/posts/index.html.erb
264
+ - spec/dummy/app/views/posts/new.html.erb
265
+ - spec/dummy/app/views/posts/show.html.erb
266
+ - spec/dummy/bin/bundle
267
+ - spec/dummy/bin/rails
268
+ - spec/dummy/bin/rake
269
+ - spec/dummy/config.ru
270
+ - spec/dummy/config/application.rb
271
+ - spec/dummy/config/boot.rb
272
+ - spec/dummy/config/database.yml
273
+ - spec/dummy/config/environment.rb
274
+ - spec/dummy/config/environments/development.rb
275
+ - spec/dummy/config/environments/production.rb
276
+ - spec/dummy/config/environments/test.rb
277
+ - spec/dummy/config/initializers/backtrace_silencers.rb
278
+ - spec/dummy/config/initializers/devise.rb
279
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
280
+ - spec/dummy/config/initializers/inflections.rb
281
+ - spec/dummy/config/initializers/mime_types.rb
282
+ - spec/dummy/config/initializers/secret_token.rb
283
+ - spec/dummy/config/initializers/seems_rateable.rb
284
+ - spec/dummy/config/initializers/session_store.rb
285
+ - spec/dummy/config/initializers/wrap_parameters.rb
286
+ - spec/dummy/config/locales/devise.en.yml
287
+ - spec/dummy/config/locales/en.yml
288
+ - spec/dummy/config/routes.rb
289
+ - spec/dummy/db/migrate/20140506144141_create_posts.rb
290
+ - spec/dummy/db/migrate/20140506144841_devise_create_users.rb
291
+ - spec/dummy/db/migrate/20140520170316_create_seems_rateable_rates.rb
292
+ - spec/dummy/db/schema.rb
293
+ - spec/dummy/lib/assets/.keep
294
+ - spec/dummy/public/404.html
295
+ - spec/dummy/public/422.html
296
+ - spec/dummy/public/500.html
297
+ - spec/dummy/public/favicon.ico
298
+ - spec/factories/posts.rb
299
+ - spec/factories/rate.rb
300
+ - spec/factories/users.rb
301
+ - spec/features/rating_spec.rb
302
+ - spec/helpers/action_view_extension_spec.rb
303
+ - spec/models/active_record_extension_spec.rb
304
+ - spec/models/rate_spec.rb
305
+ - spec/rating_spec.rb
306
+ - spec/spec_helper.rb
307
+ - spec/support/dummies.rb
130
308
  homepage: http://rateable.herokuapp.com
131
309
  licenses: []
132
310
  metadata: {}
@@ -150,5 +328,65 @@ rubygems_version: 2.0.3
150
328
  signing_key:
151
329
  specification_version: 4
152
330
  summary: Star Rating Engine
153
- test_files: []
154
- has_rdoc:
331
+ test_files:
332
+ - spec/controllers/rates_controller_spec.rb
333
+ - spec/dummy/README.rdoc
334
+ - spec/dummy/Rakefile
335
+ - spec/dummy/app/assets/javascripts/application.js
336
+ - spec/dummy/app/assets/javascripts/posts.js
337
+ - spec/dummy/app/assets/javascripts/rateable/rateable.js.erb
338
+ - spec/dummy/app/assets/stylesheets/application.css
339
+ - spec/dummy/app/assets/stylesheets/scaffold.css
340
+ - spec/dummy/app/controllers/application_controller.rb
341
+ - spec/dummy/app/controllers/concerns/.keep
342
+ - spec/dummy/app/controllers/posts_controller.rb
343
+ - spec/dummy/app/models/.keep
344
+ - spec/dummy/app/models/concerns/.keep
345
+ - spec/dummy/app/models/post.rb
346
+ - spec/dummy/app/models/user.rb
347
+ - spec/dummy/app/views/layouts/application.html.erb
348
+ - spec/dummy/app/views/posts/_form.html.erb
349
+ - spec/dummy/app/views/posts/edit.html.erb
350
+ - spec/dummy/app/views/posts/index.html.erb
351
+ - spec/dummy/app/views/posts/new.html.erb
352
+ - spec/dummy/app/views/posts/show.html.erb
353
+ - spec/dummy/bin/bundle
354
+ - spec/dummy/bin/rails
355
+ - spec/dummy/bin/rake
356
+ - spec/dummy/config.ru
357
+ - spec/dummy/config/application.rb
358
+ - spec/dummy/config/boot.rb
359
+ - spec/dummy/config/database.yml
360
+ - spec/dummy/config/environment.rb
361
+ - spec/dummy/config/environments/development.rb
362
+ - spec/dummy/config/environments/production.rb
363
+ - spec/dummy/config/environments/test.rb
364
+ - spec/dummy/config/initializers/backtrace_silencers.rb
365
+ - spec/dummy/config/initializers/devise.rb
366
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
367
+ - spec/dummy/config/initializers/inflections.rb
368
+ - spec/dummy/config/initializers/mime_types.rb
369
+ - spec/dummy/config/initializers/secret_token.rb
370
+ - spec/dummy/config/initializers/seems_rateable.rb
371
+ - spec/dummy/config/initializers/session_store.rb
372
+ - spec/dummy/config/initializers/wrap_parameters.rb
373
+ - spec/dummy/config/locales/devise.en.yml
374
+ - spec/dummy/config/locales/en.yml
375
+ - spec/dummy/config/routes.rb
376
+ - spec/dummy/db/migrate/20140506144141_create_posts.rb
377
+ - spec/dummy/db/migrate/20140506144841_devise_create_users.rb
378
+ - spec/dummy/db/migrate/20140520170316_create_seems_rateable_rates.rb
379
+ - spec/dummy/db/schema.rb
380
+ - spec/dummy/lib/assets/.keep
381
+ - spec/dummy/public/404.html
382
+ - spec/dummy/public/422.html
383
+ - spec/dummy/public/500.html
384
+ - spec/dummy/public/favicon.ico
385
+ - spec/factories/posts.rb
386
+ - spec/factories/rate.rb
387
+ - spec/factories/users.rb
388
+ - spec/features/rating_spec.rb
389
+ - spec/helpers/action_view_extension_spec.rb
390
+ - spec/models/active_record_extension_spec.rb
391
+ - spec/models/rate_spec.rb
392
+ - spec/support/dummies.rb