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.
- 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
|