merit 3.0.1 → 3.0.2
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 +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
|