merit 3.0.1 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +7 -11
- data/NEWS.md +6 -0
- data/Rakefile +9 -1
- data/lib/merit.rb +9 -1
- data/lib/merit/model_additions.rb +1 -1
- data/lib/merit/models/active_record/merit/activity_log.rb +1 -1
- data/merit.gemspec +4 -4
- data/test/dummy/config/application.rb +3 -9
- data/test/dummy/config/application_api_only.rb +28 -0
- data/test/dummy/config/environment_api_only.rb +7 -0
- data/test/dummy/config/initializers/new_framework_defaults.rb +3 -0
- data/test/orm/active_record.rb +7 -1
- data/test/test_helper.rb +10 -5
- metadata +16 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b2cbaa14467c3e05f09615f1fccf0fb0b504246ed8e11320245d9c160f2f81c9
|
4
|
+
data.tar.gz: 940d31167c9bd59cd1ecaa96055cbf87f6e5bf6e7e1fbb3b433215b0d27d3291
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db2f9a9d70500a9e11985d7dd54d8fc5a891b69a940a72ce8fea8a465d733ae4ab1e197ad1eb11b50f6699321d9d55cffc36f5f1da2ad3c5deebb9d41414380c
|
7
|
+
data.tar.gz: 9230dda9fe83d1b137dd5105134b4ed41614d2323308a40ae87f98302931f1309e87f00a13c8f893b8dae8c732b4e23e7d22c3ec8353a49a83a465bfd852579c
|
data/Gemfile
CHANGED
@@ -2,8 +2,12 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
version = ENV['RAILS_VERSION']
|
6
|
-
|
5
|
+
version = ENV['RAILS_VERSION']
|
6
|
+
if version =~ /^5.2/
|
7
|
+
gem 'rails', github: "rails/rails", branch: "5-2-stable"
|
8
|
+
else
|
9
|
+
gem 'rails', version
|
10
|
+
end
|
7
11
|
|
8
12
|
case ENV['ORM']
|
9
13
|
when 'active_record'
|
@@ -14,15 +18,7 @@ end
|
|
14
18
|
|
15
19
|
group :development, :test do
|
16
20
|
gem 'activerecord-jdbcsqlite3-adapter', :platforms => [:jruby]
|
17
|
-
gem 'sqlite3'
|
18
|
-
end
|
19
|
-
|
20
|
-
platforms :rbx do
|
21
|
-
gem 'rubysl', '~> 2.0'
|
22
|
-
gem 'psych'
|
23
|
-
gem 'racc'
|
24
|
-
gem 'minitest', '~> 5.10', '!= 5.10.2'
|
25
|
-
gem 'rubinius-developer_tools'
|
21
|
+
gem 'sqlite3'
|
26
22
|
end
|
27
23
|
|
28
24
|
gem 'coveralls', require: false
|
data/NEWS.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
User-visible changes worth mentioning.
|
4
4
|
|
5
|
+
## 3.0.2
|
6
|
+
|
7
|
+
- [#287] Make Sash an optional dependency, fixing issues in Rails 5.1.
|
8
|
+
- [#297] Initialize merit once both for API or non-API apps
|
9
|
+
- Updates dependencies
|
10
|
+
|
5
11
|
## 3.0.1
|
6
12
|
|
7
13
|
- [#282] Run action controller load hook only once
|
data/Rakefile
CHANGED
@@ -8,7 +8,7 @@ end
|
|
8
8
|
require 'rake/testtask'
|
9
9
|
|
10
10
|
desc 'Default: run tests for all ORMs.'
|
11
|
-
task default: :test
|
11
|
+
task default: [:test, :api_test]
|
12
12
|
|
13
13
|
Rake::TestTask.new(:test) do |t|
|
14
14
|
t.libs << 'lib'
|
@@ -17,6 +17,14 @@ Rake::TestTask.new(:test) do |t|
|
|
17
17
|
t.verbose = true
|
18
18
|
end
|
19
19
|
|
20
|
+
Rake::TestTask.new(:api_test) do |t|
|
21
|
+
t.libs << 'lib'
|
22
|
+
t.libs << 'test'
|
23
|
+
t.test_files = FileList['test/**/*_test.rb'].exclude(/navigation_test.rb/)
|
24
|
+
t.verbose = true
|
25
|
+
t.options = '-- -api-only'
|
26
|
+
end
|
27
|
+
|
20
28
|
begin
|
21
29
|
require 'rdoc/task'
|
22
30
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
data/lib/merit.rb
CHANGED
@@ -82,7 +82,7 @@ module Merit
|
|
82
82
|
initializer 'merit.controller' do |app|
|
83
83
|
extend_orm_with_has_merit
|
84
84
|
require_models
|
85
|
-
ActiveSupport.on_load(
|
85
|
+
ActiveSupport.on_load(action_controller_hook) do
|
86
86
|
begin
|
87
87
|
# Load app rules on boot up
|
88
88
|
Merit::AppBadgeRules = Merit::BadgeRules.new.defined_rules
|
@@ -113,5 +113,13 @@ module Merit
|
|
113
113
|
Mongoid::Document.send :include, Merit
|
114
114
|
end
|
115
115
|
end
|
116
|
+
|
117
|
+
def action_controller_hook
|
118
|
+
if Rails.application.config.api_only
|
119
|
+
:action_controller_api
|
120
|
+
else
|
121
|
+
:action_controller_base
|
122
|
+
end
|
123
|
+
end
|
116
124
|
end
|
117
125
|
end
|
@@ -7,7 +7,7 @@ module Merit
|
|
7
7
|
# That's why MeritableModel belongs_to Sash. Can't use
|
8
8
|
# dependent: destroy as it may raise FK constraint exceptions. See:
|
9
9
|
# https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1079-belongs_to-dependent-destroy-should-destroy-self-before-assocation
|
10
|
-
belongs_to :sash, class_name: 'Merit::Sash', inverse_of: nil
|
10
|
+
belongs_to :sash, class_name: 'Merit::Sash', inverse_of: nil, optional: true
|
11
11
|
attr_accessible :sash if show_attr_accessible?
|
12
12
|
|
13
13
|
send :"_merit_#{Merit.orm}_specific_config"
|
@@ -3,7 +3,7 @@ module Merit
|
|
3
3
|
self.table_name = :merit_activity_logs
|
4
4
|
|
5
5
|
belongs_to :action, class_name: 'Merit::Action'
|
6
|
-
belongs_to :related_change, polymorphic: true
|
6
|
+
belongs_to :related_change, polymorphic: true, optional: true
|
7
7
|
has_one :sash, through: :related_change
|
8
8
|
|
9
9
|
if show_attr_accessible?
|
data/merit.gemspec
CHANGED
@@ -6,17 +6,17 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.files = `git ls-files`.split("\n").reject{|f| f =~ /^\./ }
|
7
7
|
s.test_files = `git ls-files -- test/*`.split("\n")
|
8
8
|
s.license = 'MIT'
|
9
|
-
s.version = '3.0.
|
9
|
+
s.version = '3.0.2'
|
10
10
|
s.authors = ["Tute Costa"]
|
11
11
|
s.email = 'tutecosta@gmail.com'
|
12
12
|
|
13
|
-
s.required_ruby_version = '>= 2.
|
13
|
+
s.required_ruby_version = '>= 2.3.0'
|
14
14
|
|
15
15
|
s.add_dependency 'ambry', '~> 1.0.0'
|
16
|
-
s.add_development_dependency 'rails', '>= 5.
|
16
|
+
s.add_development_dependency 'rails', '>= 5.1.6'
|
17
17
|
s.add_development_dependency 'capybara'
|
18
18
|
s.add_development_dependency 'simplecov'
|
19
19
|
s.add_development_dependency 'rubocop'
|
20
20
|
s.add_development_dependency 'minitest-rails'
|
21
|
-
s.add_development_dependency 'mocha'
|
21
|
+
s.add_development_dependency 'mocha'
|
22
22
|
end
|
@@ -11,18 +11,12 @@ require "merit"
|
|
11
11
|
|
12
12
|
module Dummy
|
13
13
|
class Application < Rails::Application
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
# config.active_record.whitelist_attributes = true
|
14
|
+
if Rails.version >= "5.2"
|
15
|
+
config.active_record.sqlite3.represent_boolean_as_integer = true
|
16
|
+
end
|
18
17
|
|
19
|
-
# http://stackoverflow.com/questions/20361428/rails-i18n-validation-deprecation-warning
|
20
18
|
config.i18n.enforce_available_locales = true
|
21
|
-
|
22
|
-
# Configure the default encoding used in templates for Ruby 1.9.
|
23
19
|
config.encoding = "utf-8"
|
24
|
-
|
25
|
-
# Configure sensitive parameters which will be filtered from the log file.
|
26
20
|
config.filter_parameters += [:password]
|
27
21
|
end
|
28
22
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "boot"
|
4
|
+
|
5
|
+
require "rails"
|
6
|
+
# Pick the frameworks you want:
|
7
|
+
require "active_model/railtie"
|
8
|
+
require "active_record/railtie"
|
9
|
+
require "action_controller/railtie"
|
10
|
+
require "action_view/railtie"
|
11
|
+
require "action_mailer/railtie"
|
12
|
+
|
13
|
+
# require "sprockets/railtie"
|
14
|
+
require "rails/test_unit/railtie"
|
15
|
+
|
16
|
+
# Require the gems listed in Gemfile, including any gems
|
17
|
+
# you've limited to :test, :development, or :production.
|
18
|
+
Bundler.require
|
19
|
+
require "merit"
|
20
|
+
|
21
|
+
module Dummy
|
22
|
+
class Application < Rails::Application
|
23
|
+
config.load_defaults 5.2 if ENV["RAILS_VERSION"] =~ /^5.2/
|
24
|
+
config.api_only = true
|
25
|
+
config.i18n.enforce_available_locales = true
|
26
|
+
config.encoding = "utf-8"
|
27
|
+
end
|
28
|
+
end
|
data/test/orm/active_record.rb
CHANGED
@@ -1,2 +1,8 @@
|
|
1
1
|
# Place orm-dependent test preparation here
|
2
|
-
|
2
|
+
migrations = File.expand_path("../../dummy/db/migrate/", __FILE__)
|
3
|
+
|
4
|
+
if Rails.version >= "5.2"
|
5
|
+
ActiveRecord::MigrationContext.new(migrations).migrate
|
6
|
+
else
|
7
|
+
ActiveRecord::Migrator.migrate migrations
|
8
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Configure Rails Envinronment
|
2
2
|
ENV['RAILS_ENV'] = 'test'
|
3
|
-
RUBYOPT="-w $RUBYOPT"
|
3
|
+
RUBYOPT = "-w $RUBYOPT".freeze
|
4
4
|
|
5
5
|
if ENV["COVERAGE"]
|
6
6
|
require 'coveralls'
|
@@ -18,10 +18,15 @@ if ENV["COVERAGE"]
|
|
18
18
|
SimpleCov.start 'rubygem'
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
require
|
23
|
-
|
24
|
-
require
|
21
|
+
if ARGV.include?("-api-only")
|
22
|
+
require File.expand_path("dummy/config/environment_api_only.rb", __dir__)
|
23
|
+
else
|
24
|
+
require File.expand_path("dummy/config/environment.rb", __dir__)
|
25
|
+
end
|
26
|
+
|
27
|
+
require "rails/test_help"
|
28
|
+
require "minitest/rails"
|
29
|
+
require "mocha/minitest"
|
25
30
|
require "orm/#{Merit.orm}"
|
26
31
|
|
27
32
|
Rails.backtrace_cleaner.remove_silencers!
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: merit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tute Costa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ambry
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 5.
|
33
|
+
version: 5.1.6
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 5.
|
40
|
+
version: 5.1.6
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: capybara
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,16 +98,16 @@ dependencies:
|
|
98
98
|
name: mocha
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: '0'
|
111
111
|
description: Manage badges, points and rankings (reputation) in your Rails app.
|
112
112
|
email: tutecosta@gmail.com
|
113
113
|
executables: []
|
@@ -203,9 +203,11 @@ files:
|
|
203
203
|
- test/dummy/app/views/users/show.html.erb
|
204
204
|
- test/dummy/config.ru
|
205
205
|
- test/dummy/config/application.rb
|
206
|
+
- test/dummy/config/application_api_only.rb
|
206
207
|
- test/dummy/config/boot.rb
|
207
208
|
- test/dummy/config/database.yml
|
208
209
|
- test/dummy/config/environment.rb
|
210
|
+
- test/dummy/config/environment_api_only.rb
|
209
211
|
- test/dummy/config/environments/development.rb
|
210
212
|
- test/dummy/config/environments/production.rb
|
211
213
|
- test/dummy/config/environments/test.rb
|
@@ -213,6 +215,7 @@ files:
|
|
213
215
|
- test/dummy/config/initializers/inflections.rb
|
214
216
|
- test/dummy/config/initializers/merit.rb
|
215
217
|
- test/dummy/config/initializers/mime_types.rb
|
218
|
+
- test/dummy/config/initializers/new_framework_defaults.rb
|
216
219
|
- test/dummy/config/initializers/secret_token.rb
|
217
220
|
- test/dummy/config/initializers/session_store.rb
|
218
221
|
- test/dummy/config/locales/en.yml
|
@@ -274,7 +277,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
274
277
|
requirements:
|
275
278
|
- - ">="
|
276
279
|
- !ruby/object:Gem::Version
|
277
|
-
version: 2.
|
280
|
+
version: 2.3.0
|
278
281
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
279
282
|
requirements:
|
280
283
|
- - ">="
|
@@ -282,7 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
285
|
version: '0'
|
283
286
|
requirements: []
|
284
287
|
rubyforge_project:
|
285
|
-
rubygems_version: 2.6
|
288
|
+
rubygems_version: 2.7.6
|
286
289
|
signing_key:
|
287
290
|
specification_version: 4
|
288
291
|
summary: Reputation engine for Rails apps
|
@@ -317,9 +320,11 @@ test_files:
|
|
317
320
|
- test/dummy/app/views/users/show.html.erb
|
318
321
|
- test/dummy/config.ru
|
319
322
|
- test/dummy/config/application.rb
|
323
|
+
- test/dummy/config/application_api_only.rb
|
320
324
|
- test/dummy/config/boot.rb
|
321
325
|
- test/dummy/config/database.yml
|
322
326
|
- test/dummy/config/environment.rb
|
327
|
+
- test/dummy/config/environment_api_only.rb
|
323
328
|
- test/dummy/config/environments/development.rb
|
324
329
|
- test/dummy/config/environments/production.rb
|
325
330
|
- test/dummy/config/environments/test.rb
|
@@ -327,6 +332,7 @@ test_files:
|
|
327
332
|
- test/dummy/config/initializers/inflections.rb
|
328
333
|
- test/dummy/config/initializers/merit.rb
|
329
334
|
- test/dummy/config/initializers/mime_types.rb
|
335
|
+
- test/dummy/config/initializers/new_framework_defaults.rb
|
330
336
|
- test/dummy/config/initializers/secret_token.rb
|
331
337
|
- test/dummy/config/initializers/session_store.rb
|
332
338
|
- test/dummy/config/locales/en.yml
|