seems_rateable 1.0.13 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +20 -0
- data/Gemfile +3 -0
- data/README.md +41 -61
- data/Rakefile +8 -2
- data/app/assets/javascripts/seems_rateable/index.js +1 -0
- data/{lib/generators/seems_rateable/install/templates → app/assets/javascripts/seems_rateable}/jRating.js.erb +225 -225
- data/app/assets/stylesheets/seems_rateable/{application.css → index.css.erb} +2 -2
- data/app/controllers/seems_rateable/application_controller.rb +1 -3
- data/app/controllers/seems_rateable/rates_controller.rb +31 -0
- data/app/models/seems_rateable/rate.rb +2 -2
- data/bin/rails +8 -0
- data/config/routes.rb +1 -1
- data/lib/generators/seems_rateable/install/install_generator.rb +34 -28
- data/lib/generators/seems_rateable/install/templates/initializer.rb +5 -2
- data/lib/generators/seems_rateable/install/templates/rateable.js.erb +12 -22
- data/lib/generators/seems_rateable/install/templates/rates_migration.rb +6 -9
- data/lib/generators/seems_rateable/manifest_finder.rb +25 -0
- data/lib/generators/seems_rateable/migration_helpers.rb +21 -0
- data/lib/generators/seems_rateable/uninstall/templates/drop_seems_rateable_rates_table.rb +9 -0
- data/lib/generators/seems_rateable/uninstall/uninstall_generator.rb +50 -0
- data/lib/generators/seems_rateable/uninstall_old/templates/drop_seems_rateable_cached_ratings_table.rb +9 -0
- data/lib/generators/seems_rateable/uninstall_old/templates/drop_seems_rateable_rates_table.rb +9 -0
- data/lib/generators/seems_rateable/uninstall_old/uninstall_old_generator.rb +48 -0
- data/lib/seems_rateable.rb +22 -7
- data/lib/seems_rateable/builder.rb +35 -0
- data/lib/seems_rateable/builder/html_options.rb +37 -0
- data/lib/seems_rateable/configuration.rb +23 -0
- data/lib/seems_rateable/engine.rb +12 -7
- data/lib/seems_rateable/errors.rb +3 -17
- data/lib/seems_rateable/helpers/action_view_extension.rb +18 -0
- data/lib/seems_rateable/helpers/current_rater.rb +15 -0
- data/lib/seems_rateable/models/active_record_extension.rb +23 -0
- data/lib/seems_rateable/models/active_record_extension/rateable.rb +26 -0
- data/lib/seems_rateable/models/active_record_extension/rater.rb +11 -0
- data/lib/seems_rateable/rating.rb +19 -0
- data/lib/seems_rateable/routes.rb +1 -1
- data/lib/seems_rateable/version.rb +1 -1
- data/seems_rateable.gemspec +32 -0
- data/spec/builder_spec.rb +53 -0
- data/spec/controllers/rates_controller_spec.rb +56 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/{app/assets/javascripts/seems_rateable → spec/dummy/app/assets/javascripts}/application.js +4 -3
- data/spec/dummy/app/assets/javascripts/posts.js +2 -0
- data/spec/dummy/app/assets/javascripts/rateable/rateable.js.erb +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +19 -0
- data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/concerns/.keep +0 -0
- data/spec/dummy/app/controllers/posts_controller.rb +58 -0
- data/spec/dummy/app/models/.keep +0 -0
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/models/post.rb +3 -0
- data/spec/dummy/app/models/user.rb +5 -0
- data/spec/dummy/app/views/layouts/application.html.erb +26 -0
- data/spec/dummy/app/views/posts/_form.html.erb +21 -0
- data/spec/dummy/app/views/posts/edit.html.erb +6 -0
- data/spec/dummy/app/views/posts/index.html.erb +28 -0
- data/spec/dummy/app/views/posts/new.html.erb +5 -0
- data/spec/dummy/app/views/posts/show.html.erb +9 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +42 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +29 -0
- data/spec/dummy/config/environments/production.rb +80 -0
- data/spec/dummy/config/environments/test.rb +36 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/devise.rb +254 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +12 -0
- data/spec/dummy/config/initializers/seems_rateable.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/devise.en.yml +59 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +8 -0
- data/spec/dummy/db/migrate/20140506144141_create_posts.rb +9 -0
- data/spec/dummy/db/migrate/20140506144841_devise_create_users.rb +42 -0
- data/spec/dummy/db/migrate/20140520170316_create_seems_rateable_rates.rb +15 -0
- data/spec/dummy/db/schema.rb +54 -0
- data/spec/dummy/lib/assets/.keep +0 -0
- data/spec/dummy/public/404.html +58 -0
- data/spec/dummy/public/422.html +58 -0
- data/spec/dummy/public/500.html +57 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/posts.rb +5 -0
- data/spec/factories/rate.rb +7 -0
- data/spec/factories/users.rb +7 -0
- data/spec/features/rating_spec.rb +63 -0
- data/spec/helpers/action_view_extension_spec.rb +59 -0
- data/spec/models/active_record_extension_spec.rb +105 -0
- data/spec/models/rate_spec.rb +6 -0
- data/spec/rating_spec.rb +70 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/dummies.rb +19 -0
- metadata +263 -25
- data/app/controllers/seems_rateable/ratings_controller.rb +0 -13
- data/app/models/seems_rateable/cached_rating.rb +0 -5
- data/lib/generators/seems_rateable/install/templates/cached_ratings_migration.rb +0 -17
- data/lib/seems_rateable/helpers.rb +0 -27
- data/lib/seems_rateable/model.rb +0 -91
@@ -47,11 +47,11 @@
|
|
47
47
|
p.jRatingInfos {
|
48
48
|
position: absolute;
|
49
49
|
z-index:9999;
|
50
|
-
background: transparent url('bg_jRatingInfos.png') no-repeat;
|
50
|
+
background: transparent url(<%= asset_path 'seems_rateable/bg_jRatingInfos.png' %>) no-repeat;
|
51
51
|
color: #CACACA;
|
52
52
|
display: none;
|
53
53
|
width: 91px;
|
54
|
-
height: 29px;
|
54
|
+
height: 29px;
|
55
55
|
font-size:16px;
|
56
56
|
text-align:center;
|
57
57
|
padding-top:5px;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require_dependency "application_controller"
|
2
|
+
|
3
|
+
module SeemsRateable
|
4
|
+
class RatesController < ApplicationController
|
5
|
+
before_filter :require_login
|
6
|
+
|
7
|
+
def create
|
8
|
+
@rate = Rate.create! rate_params
|
9
|
+
|
10
|
+
render json: { average: rating.average }
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def rateable
|
16
|
+
@rate.rateable
|
17
|
+
end
|
18
|
+
|
19
|
+
def rating
|
20
|
+
rateable.rating(@rate.dimension)
|
21
|
+
end
|
22
|
+
|
23
|
+
def rate_params
|
24
|
+
params.require(:rate).permit!.merge(rater_id: current_rater.id)
|
25
|
+
end
|
26
|
+
|
27
|
+
def require_login
|
28
|
+
raise SeemsRateable::Errors::NoCurrentRaterError unless current_rater
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module SeemsRateable
|
2
2
|
class Rate < ActiveRecord::Base
|
3
|
-
belongs_to :rater, :
|
4
|
-
belongs_to :rateable, :
|
3
|
+
belongs_to :rater, class_name: SeemsRateable.config.rate_owner_class
|
4
|
+
belongs_to :rateable, polymorphic: true
|
5
5
|
end
|
6
6
|
end
|
data/bin/rails
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
#!/usr/bin/env ruby1.9.1
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application.
|
3
|
+
|
4
|
+
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
5
|
+
ENGINE_PATH = File.expand_path('../../lib/seems_rateable/engine', __FILE__)
|
6
|
+
|
7
|
+
require 'rails/all'
|
8
|
+
require 'rails/engine/commands'
|
data/config/routes.rb
CHANGED
@@ -1,41 +1,47 @@
|
|
1
|
-
require '
|
1
|
+
require 'generators/seems_rateable/migration_helpers'
|
2
|
+
require 'generators/seems_rateable/manifest_finder'
|
2
3
|
require 'fileutils'
|
3
4
|
|
4
5
|
module SeemsRateable
|
5
6
|
module Generators
|
6
7
|
class InstallGenerator < ::Rails::Generators::Base
|
7
|
-
include
|
8
|
+
include SeemsRateable::Generators::MigrationHelpers
|
9
|
+
include SeemsRateable::Generators::ManifestFinder
|
10
|
+
|
8
11
|
source_root File.expand_path('../templates', __FILE__)
|
9
|
-
|
10
|
-
def
|
11
|
-
|
12
|
-
@prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
13
|
-
else
|
14
|
-
@prev_migration_nr += 1
|
15
|
-
end
|
16
|
-
@prev_migration_nr.to_s
|
12
|
+
|
13
|
+
def routes
|
14
|
+
route 'seems_rateable'
|
17
15
|
end
|
18
|
-
|
19
|
-
def
|
20
|
-
|
16
|
+
|
17
|
+
def javascript_assets
|
18
|
+
Dir.mkdir 'app/assets/javascripts/rateable' unless File.directory?('app/assets/javascripts/rateable')
|
19
|
+
|
20
|
+
copy_file 'rateable.js.erb', 'app/assets/javascripts/rateable/rateable.js.erb'
|
21
21
|
end
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
migration_template "rates_migration.rb", "db/migrate/create_seems_rateable_rates.rb"
|
26
|
-
migration_template "cached_ratings_migration.rb", "db/migrate/create_seems_rateable_cached_ratings.rb"
|
22
|
+
|
23
|
+
def migrations
|
24
|
+
migration_template 'rates_migration.rb', 'db/migrate/create_seems_rateable_rates.rb'
|
27
25
|
end
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
template "initializer.rb", "config/initializers/seems_rateable.rb"
|
26
|
+
|
27
|
+
def initializer
|
28
|
+
template 'initializer.rb', 'config/initializers/seems_rateable.rb'
|
32
29
|
end
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
30
|
+
|
31
|
+
def require_stylesheet
|
32
|
+
if File.binread(detect_css[0]).include? "require_self"
|
33
|
+
insert_into_file detect_css[0], "\n#{detect_css[1]} require seems_rateable\n", after: /require_self/
|
34
|
+
else
|
35
|
+
prepend_to_file detect_css[0], "/*\n#{detect_css[1]} require seems_rateable\n*/\n"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def require_javascript
|
40
|
+
if File.binread(detect_js[0]).include? "require_tree"
|
41
|
+
insert_into_file detect_js[0], "\n#{detect_js[1]} require seems_rateable\n#{detect_js[1]} require_directory ./rateable\n", after: /require_tree/
|
42
|
+
else
|
43
|
+
prepend_to_file detect_js[0], "\n#{detect_js[1]} require seems_rateable\n #{detect_js[1]} require_directory ./rateable\n"
|
44
|
+
end
|
39
45
|
end
|
40
46
|
end
|
41
47
|
end
|
@@ -1,4 +1,7 @@
|
|
1
1
|
#SeemsRateable engine Initializer
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
SeemsRateable.configure do |config|
|
4
|
+
#config.rate_owner_class = 'User'
|
5
|
+
#config.current_rater_method = :current_user
|
6
|
+
#config.default_selector_class = 'rateable'
|
7
|
+
end
|
@@ -1,25 +1,15 @@
|
|
1
1
|
$(document).ready(function(){
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
rateMax: 5, //Maximal rate
|
6
|
-
length : 5, //Number of stars
|
7
|
-
//decimalLength : 0, //Number of decimals in the rate
|
8
|
-
//type : 'big', //Big or small
|
9
|
-
//step : true, //If set to true, filling of the stars is done star by star (step by step).
|
10
|
-
//isDisabled: false, //Set true to display static rating
|
11
|
-
//showRateInfo:false, //Rate info panel, set true to display
|
12
|
-
//rateInfosX : 45, //In pixel - Absolute left position of the information box during mousemove.
|
13
|
-
//rateInfosY : 5, //In pixel - Absolute top position of the information box during mousemove.
|
14
|
-
path : '<%= SeemsRateable::Engine.routes.url_helpers.ratings_path %>',
|
15
|
-
onSuccess : function(element, rate){
|
16
|
-
//something like ->
|
17
|
-
//alert('success');
|
18
|
-
$('<span class="text-success"><small style="display:inline-block;">Thanks for rating!</small></span>').insertAfter(element)
|
19
|
-
},
|
20
|
-
onError : function(element, rate) {
|
21
|
-
$('<span class="text-error"><small style="display:inline-block;">You have already rated!</small></span>').insertAfter(element)
|
22
|
-
}
|
23
|
-
});
|
2
|
+
$(".rateable").jRating({
|
3
|
+
//default options displayed below ->
|
24
4
|
|
5
|
+
rateMax: 5, //Maximal rate
|
6
|
+
length : 5, //Number of stars
|
7
|
+
//decimalLength : 0, //Number of decimals in the rate
|
8
|
+
//type : 'big', //Big or small
|
9
|
+
//step : true, //If set to true, filling of the stars is done star by star (step by step).
|
10
|
+
//isDisabled: false, //Set true to display static rating
|
11
|
+
//showRateInfo: false //Rate info panel, set true to display
|
12
|
+
//rateInfosX : 45, //In pixel - Absolute left position of the information box during mousemove.
|
13
|
+
//rateInfosY : 5, //In pixel - Absolute top position of the information box during mousemove.
|
14
|
+
});
|
25
15
|
});
|
@@ -1,18 +1,15 @@
|
|
1
1
|
class CreateSeemsRateableRates < ActiveRecord::Migration
|
2
|
-
def
|
2
|
+
def change
|
3
3
|
create_table :seems_rateable_rates do |t|
|
4
4
|
t.belongs_to :rater
|
5
|
-
t.belongs_to :rateable, :
|
6
|
-
t.float :stars, :
|
7
|
-
t.integer :rater_id, :limit => 8
|
8
|
-
t.integer :rateable_id
|
9
|
-
t.string :rateable_type
|
5
|
+
t.belongs_to :rateable, polymorphic: true
|
6
|
+
t.float :stars, null: false
|
10
7
|
t.string :dimension
|
11
8
|
t.timestamps
|
12
9
|
end
|
13
|
-
end
|
14
10
|
|
15
|
-
|
16
|
-
|
11
|
+
add_index :seems_rateable_rates, :rater_id
|
12
|
+
add_index :seems_rateable_rates, [:rateable_id, :rateable_type]
|
13
|
+
add_index :seems_rateable_rates, :dimension
|
17
14
|
end
|
18
15
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module SeemsRateable
|
2
|
+
module Generators
|
3
|
+
module ManifestFinder
|
4
|
+
private
|
5
|
+
|
6
|
+
def detect_css
|
7
|
+
manifest = 'app/assets/stylesheets/application'
|
8
|
+
|
9
|
+
return [manifest + '.css', ' *='] if File.exist?(manifest + '.css')
|
10
|
+
return [manifest + '.css.sass', ' //='] if File.exist?(manifest + '.css.sass')
|
11
|
+
return [manifest + '.sass', ' //='] if File.exist?(manifest + '.sass')
|
12
|
+
return [manifest + '.css.scss', ' //='] if File.exist?(manifest + '.css.scss')
|
13
|
+
return [manifest + '.scss', ' //='] if File.exist?(manifest + '.scss')
|
14
|
+
end
|
15
|
+
|
16
|
+
def detect_js
|
17
|
+
manifest = 'app/assets/javascripts/application'
|
18
|
+
|
19
|
+
return [manifest + '.coffee', '//='] if File.exist?(manifest + '.coffee')
|
20
|
+
return [manifest + '.js.coffee', '//='] if File.exist?(manifest + '.js.coffee')
|
21
|
+
return [manifest + '.js', '//='] if File.exist?(manifest + '.js')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rails/generators/migration'
|
2
|
+
|
3
|
+
module SeemsRateable
|
4
|
+
module Generators
|
5
|
+
module MigrationHelpers
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
|
8
|
+
included do
|
9
|
+
include ::Rails::Generators::Migration
|
10
|
+
|
11
|
+
def self.next_migration_number(dirname)
|
12
|
+
if ActiveRecord::Base.timestamped_migrations
|
13
|
+
Time.now.utc.strftime("%Y%m%d%H%M%S%6N")
|
14
|
+
else
|
15
|
+
"%.3d" % (current_migration_number(dirname) + 1)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'generators/seems_rateable/migration_helpers'
|
2
|
+
require 'generators/seems_rateable/manifest_finder'
|
3
|
+
|
4
|
+
module SeemsRateable
|
5
|
+
module Generators
|
6
|
+
class UninstallGenerator < ::Rails::Generators::Base
|
7
|
+
include SeemsRateable::Generators::MigrationHelpers
|
8
|
+
include SeemsRateable::Generators::ManifestFinder
|
9
|
+
|
10
|
+
source_root File.expand_path('../templates', __FILE__)
|
11
|
+
|
12
|
+
def comment_route
|
13
|
+
comment_lines 'config/routes.rb', /seems_rateable/
|
14
|
+
end
|
15
|
+
|
16
|
+
def remove_initializer
|
17
|
+
remove_file 'config/initializers/seems_rateable.rb'
|
18
|
+
end
|
19
|
+
|
20
|
+
def remove_javascripts
|
21
|
+
remove_dir 'app/assets/javascripts/rateable/'
|
22
|
+
end
|
23
|
+
|
24
|
+
def drop_table
|
25
|
+
migration_template 'drop_seems_rateable_rates_table.rb', 'db/migrate/drop_seems_rateable_rates_table.rb'
|
26
|
+
|
27
|
+
rake 'db:migrate' if yes?('Run rake db:migrate?')
|
28
|
+
|
29
|
+
Dir.glob('db/migrate/*').keep_if { |f| f.include?('seems') }.each do |file|
|
30
|
+
remove_file(file)
|
31
|
+
end if yes?('Remove also remaining seems_rateable migration files?')
|
32
|
+
end
|
33
|
+
|
34
|
+
def remove_require_from_stylesheet
|
35
|
+
gsub_file detect_css[0], /require seems_rateable/, ''
|
36
|
+
end
|
37
|
+
|
38
|
+
def remove_require_from_javascript
|
39
|
+
gsub_file detect_js[0], /require seems_rateable/, ''
|
40
|
+
gsub_file detect_js[0], /require_directory .\/rateable/, ''
|
41
|
+
end
|
42
|
+
|
43
|
+
def comment_seems_rateable_in_models
|
44
|
+
Dir.glob('app/models/*').keep_if { |f| File.extname(f) == '.rb' }.each do |model|
|
45
|
+
comment_lines model, /seems_rateable/ if File.binread(model).include? 'seems_rateable'
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'generators/seems_rateable/migration_helpers'
|
2
|
+
|
3
|
+
module SeemsRateable
|
4
|
+
module Generators
|
5
|
+
class UninstallOld < ::Rails::Generators::Base
|
6
|
+
include SeemsRateable::Generators::MigrationHelpers
|
7
|
+
|
8
|
+
source_root File.expand_path('../templates', __FILE__)
|
9
|
+
|
10
|
+
def drop_tables
|
11
|
+
(ActiveRecord::Migration.tables & %w[seems_rateable_rates seems_rateable_cached_ratings]).each do |table|
|
12
|
+
migration_template "drop_#{table}_table.rb", "db/migrate/drop_#{table}_table"
|
13
|
+
end
|
14
|
+
|
15
|
+
rake 'db:migrate' if yes?('Run rake db:migrate? To drop seems_rateable tables')
|
16
|
+
|
17
|
+
Dir.glob('db/migrate/*').keep_if { |f| f.include?('seems_rateable') }.each do |file|
|
18
|
+
remove_file(file)
|
19
|
+
end if yes?('Remove also remaining seems_rateable migration files?')
|
20
|
+
end
|
21
|
+
|
22
|
+
def remove_initializer
|
23
|
+
remove_file 'config/initializers/seems_rateable.rb'
|
24
|
+
end
|
25
|
+
|
26
|
+
def remove_javascripts
|
27
|
+
remove_dir 'app/assets/javascripts/rateable/'
|
28
|
+
end
|
29
|
+
|
30
|
+
def remove_stylesheet_include_in_template
|
31
|
+
%w[erb haml slim].each do |extension|
|
32
|
+
|
33
|
+
file = 'app/views/layouts/application.html.' + extension
|
34
|
+
|
35
|
+
if File.exists?(file)
|
36
|
+
gsub_file file, /seems_rateable_stylesheet/, ''
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def comment_seems_rateable_in_models
|
42
|
+
Dir.glob('app/models/*').keep_if { |f| File.extname(f) == '.rb' }.each do |model|
|
43
|
+
comment_lines model, /seems_rateable/
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/seems_rateable.rb
CHANGED
@@ -3,14 +3,29 @@ begin
|
|
3
3
|
rescue LoadError
|
4
4
|
end
|
5
5
|
|
6
|
-
require
|
6
|
+
require 'seems_rateable/engine'
|
7
|
+
require 'seems_rateable/configuration'
|
7
8
|
|
8
|
-
require
|
9
|
-
require "seems_rateable/errors"
|
10
|
-
require "seems_rateable/helpers"
|
11
|
-
require "seems_rateable/model"
|
12
|
-
require "seems_rateable/routes"
|
13
|
-
require "seems_rateable/version"
|
9
|
+
require 'jquery-rails'
|
14
10
|
|
15
11
|
module SeemsRateable
|
12
|
+
autoload :Errors, 'seems_rateable/errors'
|
13
|
+
autoload :Builder, 'seems_rateable/builder'
|
14
|
+
autoload :Routes, 'seems_rateable/routes'
|
15
|
+
autoload :Rating, 'seems_rateable/rating'
|
16
|
+
|
17
|
+
module Helpers
|
18
|
+
autoload :ActionViewExtension, 'seems_rateable/helpers/action_view_extension'
|
19
|
+
autoload :HtmlOptions, 'seems_rateable/helpers/html_options'
|
20
|
+
autoload :CurrentRater, 'seems_rateable/helpers/current_rater'
|
21
|
+
end
|
22
|
+
|
23
|
+
module Models
|
24
|
+
autoload :ActiveRecordExtension, 'seems_rateable/models/active_record_extension'
|
25
|
+
|
26
|
+
module ActiveRecordExtension
|
27
|
+
autoload :Rateable, 'seems_rateable/models/active_record_extension/rateable'
|
28
|
+
autoload :Rater, 'seems_rateable/models/active_record_extension/rater'
|
29
|
+
end
|
30
|
+
end
|
16
31
|
end
|