public_activity 2.0.2 → 3.0.1
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/README.md +13 -10
- data/lib/generators/public_activity/migration/templates/migration.rb +1 -1
- data/lib/public_activity/common.rb +13 -13
- data/lib/public_activity/config.rb +14 -15
- data/lib/public_activity/models/activist.rb +1 -1
- data/lib/public_activity/models/activity.rb +1 -1
- data/lib/public_activity/models/adapter.rb +1 -1
- data/lib/public_activity/models/trackable.rb +1 -1
- data/lib/public_activity/orm/active_record/activist.rb +6 -5
- data/lib/public_activity/orm/active_record/activity.rb +15 -28
- data/lib/public_activity/orm/active_record/trackable.rb +3 -1
- data/lib/public_activity/orm/active_record.rb +4 -4
- data/lib/public_activity/roles/tracked.rb +12 -16
- data/lib/public_activity/version.rb +1 -1
- data/lib/public_activity.rb +4 -3
- data/test/migrations/002_create_articles.rb +1 -1
- data/test/migrations/003_create_users.rb +1 -1
- data/test/migrations/004_add_nonstandard_to_activities.rb +1 -1
- data/test/test_activity.rb +2 -4
- data/test/test_helper.rb +10 -9
- metadata +37 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37a2aa6ff87085d7785379491f35a7ff8a72b7683817ba06606f5c96e641985d
|
4
|
+
data.tar.gz: 628131cc96ae6dc8c871e8ef0a480331f635fddafcd4f162e18dedf9aa89d25d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14419c7a77acd1d7332a1ccde54aa6a563b22b2898e1d8e62c6d569240ed7b3b09adfb36388e35115987f872cb17ad9c78c5723a2f77307527e670c0beea05bd
|
7
|
+
data.tar.gz: 6b020d2ad93e424b727c10565b6b38c0d1073f4e5c79bd8c1162827c11a23b1424160b6de728af27dc03ca2e42186385bf5df5b6fcf802c581567f42d4f2aecf
|
data/README.md
CHANGED
@@ -1,16 +1,12 @@
|
|
1
|
-
# PublicActivity [](https://codeclimate.com/github/chaps-io/public_activity) [](http://badge.fury.io/rb/public_activity)
|
2
2
|
|
3
3
|
`public_activity` provides easy activity tracking for your **ActiveRecord**, **Mongoid 3** and **MongoMapper** models
|
4
|
-
in Rails
|
4
|
+
in Rails 6.1+. Simply put: it records what has been changed or created and gives you the ability to present those
|
5
5
|
recorded activities to users - similarly to how GitHub does it.
|
6
6
|
|
7
|
-
## Rails 7
|
8
|
-
|
9
|
-
**As of version 2.0.0, public_activity also supports Rails up to 7.0.**
|
10
|
-
|
11
7
|
## Table of contents
|
12
8
|
|
13
|
-
- [Rails
|
9
|
+
- [Ruby/Rails version support](#ruby-rails-version-support)
|
14
10
|
- [Table of contents](#table-of-contents)
|
15
11
|
- [Example](#example)
|
16
12
|
- [Online demo](#online-demo)
|
@@ -31,15 +27,22 @@ recorded activities to users - similarly to how GitHub does it.
|
|
31
27
|
- [Help](#help)
|
32
28
|
- [License](#license)
|
33
29
|
|
30
|
+
## Ruby/Rails version support
|
31
|
+
|
32
|
+
Version `~> 3.0`` supports Ruby 3.0+ and Rails 6.1+. For older Ruby versions
|
33
|
+
(≤2.7) and Rails 5.0+ you can use version `~> 2.0` until you can upgrade to
|
34
|
+
newer versions of Ruby + Rails.
|
35
|
+
|
36
|
+
Issues related to those unsupported versions of Ruby/Rails will be closed
|
37
|
+
without resolution and PRs will not be accepted.
|
38
|
+
|
34
39
|
## Example
|
35
40
|
|
36
41
|
Here is a simple example showing what this gem is about:
|
37
42
|
|
38
43
|

|
39
44
|
|
40
|
-
###
|
41
|
-
|
42
|
-
You can see an actual application using this gem here: http://public-activity-example.herokuapp.com/feed
|
45
|
+
### Demo app
|
43
46
|
|
44
47
|
The source code of the demo is hosted here: https://github.com/pokonski/activity_blog
|
45
48
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Migration responsible for creating a table with activities
|
4
|
-
class CreateActivities < ActiveRecord::Migration[
|
4
|
+
class CreateActivities < ActiveRecord::Migration[6.1]
|
5
5
|
def self.up
|
6
6
|
create_table :activities do |t|
|
7
7
|
t.belongs_to :trackable, polymorphic: true
|
@@ -123,7 +123,7 @@ module PublicActivity
|
|
123
123
|
# @!endgroup
|
124
124
|
|
125
125
|
# Provides some global methods for every model class.
|
126
|
-
|
126
|
+
class_methods do
|
127
127
|
#
|
128
128
|
# @since 1.0.0
|
129
129
|
# @api private
|
@@ -147,10 +147,8 @@ module PublicActivity
|
|
147
147
|
# @api private
|
148
148
|
def get_hook(key)
|
149
149
|
key = key.to_sym
|
150
|
-
if
|
151
|
-
|
152
|
-
else
|
153
|
-
nil
|
150
|
+
if activity_hooks.key?(key) && activity_hooks[key].is_a?(Proc)
|
151
|
+
activity_hooks[key]
|
154
152
|
end
|
155
153
|
end
|
156
154
|
end
|
@@ -181,7 +179,7 @@ module PublicActivity
|
|
181
179
|
# @since 0.4.0
|
182
180
|
# @api private
|
183
181
|
def call_hook_safe(key)
|
184
|
-
hook =
|
182
|
+
hook = get_hook(key)
|
185
183
|
if hook
|
186
184
|
# provides hook with model and controller
|
187
185
|
hook.call(self, PublicActivity.get_controller)
|
@@ -248,7 +246,8 @@ module PublicActivity
|
|
248
246
|
# @option options [Hash] :params Parameters, see
|
249
247
|
# {PublicActivity.resolve_value}
|
250
248
|
def create_activity(*args)
|
251
|
-
return unless
|
249
|
+
return unless public_activity_enabled?
|
250
|
+
|
252
251
|
options = prepare_settings(*args)
|
253
252
|
|
254
253
|
if call_hook_safe(options[:key].split('.').last)
|
@@ -264,12 +263,13 @@ module PublicActivity
|
|
264
263
|
#
|
265
264
|
# @see #create_activity
|
266
265
|
def create_activity!(*args)
|
267
|
-
return unless
|
266
|
+
return unless public_activity_enabled?
|
267
|
+
|
268
268
|
options = prepare_settings(*args)
|
269
269
|
|
270
270
|
if call_hook_safe(options[:key].split('.').last)
|
271
271
|
reset_activity_instance_options
|
272
|
-
|
272
|
+
PublicActivity::Adapter.create_activity!(self, options)
|
273
273
|
end
|
274
274
|
end
|
275
275
|
|
@@ -306,7 +306,7 @@ module PublicActivity
|
|
306
306
|
# @private
|
307
307
|
def prepare_custom_fields(options)
|
308
308
|
customs = self.class.activity_custom_fields_global.clone
|
309
|
-
customs.merge!(
|
309
|
+
customs.merge!(activity_custom_fields) if activity_custom_fields
|
310
310
|
customs.merge!(options)
|
311
311
|
customs.each do |k, v|
|
312
312
|
customs[k] = PublicActivity.resolve_value(self, v)
|
@@ -319,7 +319,7 @@ module PublicActivity
|
|
319
319
|
def prepare_parameters(options)
|
320
320
|
params = {}
|
321
321
|
params.merge!(self.class.activity_params_global)
|
322
|
-
params.merge!(
|
322
|
+
params.merge!(activity_params) if activity_params
|
323
323
|
params.merge!([options.delete(:parameters), options.delete(:params), {}].compact.first)
|
324
324
|
params.each { |k, v| params[k] = PublicActivity.resolve_value(self, v) }
|
325
325
|
end
|
@@ -329,7 +329,7 @@ module PublicActivity
|
|
329
329
|
# @private
|
330
330
|
def prepare_relation(name, options)
|
331
331
|
PublicActivity.resolve_value(self,
|
332
|
-
(options.
|
332
|
+
(options.key?(name) ? options[name] : (
|
333
333
|
self.send("activity_#{name}") || self.class.send("activity_#{name}_global")
|
334
334
|
)
|
335
335
|
)
|
@@ -343,7 +343,7 @@ module PublicActivity
|
|
343
343
|
def prepare_key(action, options = {})
|
344
344
|
(
|
345
345
|
options[:key] ||
|
346
|
-
|
346
|
+
activity_key ||
|
347
347
|
((self.class.name.underscore.gsub('/', '_') + "." + action.to_s) if action)
|
348
348
|
).try(:to_s)
|
349
349
|
end
|
@@ -14,7 +14,7 @@ module PublicActivity
|
|
14
14
|
# enabled false
|
15
15
|
# table_name "activities"
|
16
16
|
# end
|
17
|
-
def self.set
|
17
|
+
def self.set(&block)
|
18
18
|
b = Block.new
|
19
19
|
b.instance_eval(&block)
|
20
20
|
instance
|
@@ -31,13 +31,13 @@ module PublicActivity
|
|
31
31
|
|
32
32
|
# alias for {#enabled}
|
33
33
|
# @see #enabled
|
34
|
-
def self.enabled=(
|
35
|
-
enabled(
|
34
|
+
def self.enabled=(value = nil)
|
35
|
+
enabled(value)
|
36
36
|
end
|
37
37
|
|
38
38
|
# instance version of {Config#orm}
|
39
39
|
# @see Config#orm
|
40
|
-
def orm(orm=nil)
|
40
|
+
def orm(orm = nil)
|
41
41
|
self.class.orm(orm)
|
42
42
|
end
|
43
43
|
|
@@ -49,8 +49,8 @@ module PublicActivity
|
|
49
49
|
|
50
50
|
# instance version of {Config#enabled}
|
51
51
|
# @see Config#orm
|
52
|
-
def enabled(
|
53
|
-
self.class.enabled(
|
52
|
+
def enabled(value = nil)
|
53
|
+
self.class.enabled(value)
|
54
54
|
end
|
55
55
|
|
56
56
|
# Set the ORM for use by PublicActivity.
|
@@ -70,12 +70,12 @@ module PublicActivity
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
-
def self.enabled(
|
74
|
-
if
|
75
|
-
|
76
|
-
|
73
|
+
def self.enabled(value = nil)
|
74
|
+
if value.nil?
|
75
|
+
val = Thread.current[:public_activity_enabled]
|
76
|
+
val.nil? ? true : val
|
77
77
|
else
|
78
|
-
Thread.current[:public_activity_enabled] =
|
78
|
+
Thread.current[:public_activity_enabled] = value
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
@@ -88,12 +88,11 @@ module PublicActivity
|
|
88
88
|
|
89
89
|
# Decides whether to enable PublicActivity.
|
90
90
|
# @param en [Boolean] Enabled?
|
91
|
-
def enabled(
|
92
|
-
@enabled = (
|
91
|
+
def enabled(value = nil)
|
92
|
+
@enabled = (value.nil? ? @enabled : value)
|
93
93
|
end
|
94
94
|
|
95
|
-
# Sets the table_name
|
96
|
-
# for the model
|
95
|
+
# Sets the table_name for the model
|
97
96
|
def table_name(name = nil)
|
98
97
|
@table_name = (name.nil? ? @table_name : name)
|
99
98
|
end
|
@@ -19,15 +19,16 @@ module PublicActivity
|
|
19
19
|
# end
|
20
20
|
#
|
21
21
|
# In controller:
|
22
|
-
# User.first.
|
22
|
+
# User.first.activities_as_owner
|
23
|
+
# User.first.activities_as_recipient
|
23
24
|
#
|
24
25
|
def activist
|
25
26
|
has_many :activities_as_owner,
|
26
|
-
|
27
|
-
|
27
|
+
class_name: '::PublicActivity::Activity',
|
28
|
+
as: :owner
|
28
29
|
has_many :activities_as_recipient,
|
29
|
-
|
30
|
-
|
30
|
+
class_name: '::PublicActivity::Activity',
|
31
|
+
as: :recipient
|
31
32
|
end
|
32
33
|
end
|
33
34
|
end
|
@@ -1,13 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PublicActivity
|
4
|
-
|
5
|
-
if not defined? ::PG::ConnectionBad
|
4
|
+
unless defined? ::PG::ConnectionBad
|
6
5
|
module ::PG
|
7
6
|
class ConnectionBad < Exception; end
|
8
7
|
end
|
9
8
|
end
|
10
|
-
|
9
|
+
unless defined? Mysql2::Error::ConnectionError
|
11
10
|
module Mysql2
|
12
11
|
module Error
|
13
12
|
class ConnectionError < Exception; end
|
@@ -27,42 +26,30 @@ module PublicActivity
|
|
27
26
|
# Define polymorphic association to the parent
|
28
27
|
belongs_to :trackable, polymorphic: true
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
# Define ownership to a resource targeted by this activity
|
36
|
-
belongs_to :recipient, polymorphic: true
|
37
|
-
end
|
38
|
-
when 6..7
|
39
|
-
with_options(optional: true) do
|
40
|
-
# Define ownership to a resource responsible for this activity
|
41
|
-
belongs_to :owner, polymorphic: true
|
42
|
-
# Define ownership to a resource targeted by this activity
|
43
|
-
belongs_to :recipient, polymorphic: true
|
44
|
-
end
|
29
|
+
with_options(optional: true) do
|
30
|
+
# Define ownership to a resource responsible for this activity
|
31
|
+
belongs_to :owner, polymorphic: true
|
32
|
+
# Define ownership to a resource targeted by this activity
|
33
|
+
belongs_to :recipient, polymorphic: true
|
45
34
|
end
|
46
35
|
|
47
36
|
# Serialize parameters Hash
|
48
37
|
begin
|
49
38
|
if table_exists?
|
50
|
-
|
39
|
+
unless %i[json jsonb hstore].include?(columns_hash['parameters'].type)
|
40
|
+
if ::ActiveRecord.version.release < Gem::Version.new('7.1')
|
41
|
+
serialize :parameters, Hash
|
42
|
+
else
|
43
|
+
serialize :parameters, coder: YAML, type: Hash
|
44
|
+
end
|
45
|
+
end
|
51
46
|
else
|
52
47
|
warn("[WARN] table #{name} doesn't exist. Skipping PublicActivity::Activity#parameters's serialization")
|
53
48
|
end
|
54
49
|
rescue ::ActiveRecord::NoDatabaseError
|
55
50
|
warn("[WARN] database doesn't exist. Skipping PublicActivity::Activity#parameters's serialization")
|
56
|
-
rescue ::ActiveRecord::ConnectionNotEstablished
|
57
|
-
warn("[WARN] couldn't connect to database. Skipping PublicActivity::Activity#parameters's serialization")
|
58
|
-
rescue ::PG::ConnectionBad
|
51
|
+
rescue ::ActiveRecord::ConnectionNotEstablished, ::PG::ConnectionBad, Mysql2::Error::ConnectionError
|
59
52
|
warn("[WARN] couldn't connect to database. Skipping PublicActivity::Activity#parameters's serialization")
|
60
|
-
rescue Mysql2::Error::ConnectionError
|
61
|
-
warn("[WARN] couldn't connect to database. Skipping PublicActivity::Activity#parameters's serialization")
|
62
|
-
end
|
63
|
-
|
64
|
-
if ::ActiveRecord::VERSION::MAJOR < 4 || defined?(ProtectedAttributes)
|
65
|
-
attr_accessible :key, :owner, :parameters, :recipient, :trackable
|
66
53
|
end
|
67
54
|
end
|
68
55
|
end
|
@@ -9,7 +9,9 @@ module PublicActivity
|
|
9
9
|
# Creates an association for activities where self is the *trackable*
|
10
10
|
# object.
|
11
11
|
def self.extended(base)
|
12
|
-
base.has_many :activities,
|
12
|
+
base.has_many :activities,
|
13
|
+
class_name: '::PublicActivity::Activity',
|
14
|
+
as: :trackable
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'active_record'
|
4
|
-
require_relative 'active_record/activity
|
5
|
-
require_relative 'active_record/adapter
|
6
|
-
require_relative 'active_record/activist
|
7
|
-
require_relative 'active_record/trackable
|
4
|
+
require_relative 'active_record/activity'
|
5
|
+
require_relative 'active_record/adapter'
|
6
|
+
require_relative 'active_record/activist'
|
7
|
+
require_relative 'active_record/trackable'
|
@@ -40,7 +40,7 @@ module PublicActivity
|
|
40
40
|
end
|
41
41
|
|
42
42
|
# Module with basic +tracked+ method that enables tracking models.
|
43
|
-
|
43
|
+
class_methods do
|
44
44
|
# Adds required callbacks for creating and updating
|
45
45
|
# tracked models and adds +activities+ relation for listing
|
46
46
|
# associated activities.
|
@@ -151,9 +151,7 @@ module PublicActivity
|
|
151
151
|
update: Update
|
152
152
|
}
|
153
153
|
|
154
|
-
if options[:skip_defaults] == true
|
155
|
-
return
|
156
|
-
end
|
154
|
+
return if options[:skip_defaults] == true
|
157
155
|
|
158
156
|
modules = if options[:except]
|
159
157
|
defaults.except(*options[:except])
|
@@ -163,32 +161,30 @@ module PublicActivity
|
|
163
161
|
defaults
|
164
162
|
end
|
165
163
|
|
166
|
-
modules.
|
167
|
-
include value
|
168
|
-
end
|
164
|
+
modules.each_value { |mod| include mod }
|
169
165
|
end
|
170
166
|
|
171
167
|
def available_options
|
172
|
-
[
|
168
|
+
%i[skip_defaults only except on owner recipient params].freeze
|
173
169
|
end
|
174
170
|
|
175
171
|
def assign_globals(options)
|
176
|
-
[
|
177
|
-
|
178
|
-
|
179
|
-
|
172
|
+
%i[owner recipient params].each do |key|
|
173
|
+
next unless options[key]
|
174
|
+
|
175
|
+
send("activity_#{key}_global=".to_sym, options.delete(key))
|
180
176
|
end
|
181
177
|
end
|
182
178
|
|
183
179
|
def assign_hooks(options)
|
184
|
-
|
185
|
-
|
186
|
-
|
180
|
+
return unless options[:on].is_a?(Hash)
|
181
|
+
|
182
|
+
self.activity_hooks = options[:on].select { |_, v| v.is_a? Proc }.symbolize_keys
|
187
183
|
end
|
188
184
|
|
189
185
|
def assign_custom_fields(options)
|
190
186
|
options.except(*available_options).each do |k, v|
|
191
|
-
|
187
|
+
activity_custom_fields_global[k] = v
|
192
188
|
end
|
193
189
|
end
|
194
190
|
end
|
data/lib/public_activity.rb
CHANGED
@@ -48,20 +48,21 @@ module PublicActivity
|
|
48
48
|
|
49
49
|
# Method used to choose which ORM to load
|
50
50
|
# when PublicActivity::Activity class is being autoloaded
|
51
|
-
def self.inherit_orm(model=
|
51
|
+
def self.inherit_orm(model = 'Activity')
|
52
52
|
orm = PublicActivity.config.orm
|
53
|
-
require "public_activity/orm/#{orm
|
53
|
+
require "public_activity/orm/#{orm}"
|
54
54
|
"PublicActivity::ORM::#{orm.to_s.classify}::#{model}".constantize
|
55
55
|
end
|
56
56
|
|
57
57
|
# Module to be included in ActiveRecord models. Adds required functionality.
|
58
58
|
module Model
|
59
59
|
extend ActiveSupport::Concern
|
60
|
+
|
60
61
|
included do
|
61
62
|
include Common
|
62
63
|
include Deactivatable
|
63
64
|
include Tracked
|
64
|
-
include Activist
|
65
|
+
include Activist # optional associations by recipient|owner
|
65
66
|
end
|
66
67
|
end
|
67
68
|
end
|
data/test/test_activity.rb
CHANGED
@@ -16,12 +16,11 @@ describe 'PublicActivity::Activity Rendering' do
|
|
16
16
|
|
17
17
|
describe '#render' do
|
18
18
|
subject do
|
19
|
-
|
20
|
-
s.save && s
|
19
|
+
PublicActivity::Activity.new(key: 'activity.test', parameters: { one: 1 }).tap(&:save)
|
21
20
|
end
|
22
21
|
|
23
22
|
let(:template_output) { "<strong>1, 2</strong>\n<em>activity.test, #{subject.id}</em>\n" }
|
24
|
-
before { @controller.
|
23
|
+
before { @controller.class.prepend_view_path File.expand_path('views', __dir__) }
|
25
24
|
|
26
25
|
it 'uses view partials when available' do
|
27
26
|
PublicActivity.set_controller(Struct.new(:current_user).new('fake'))
|
@@ -45,7 +44,6 @@ describe 'PublicActivity::Activity Rendering' do
|
|
45
44
|
|
46
45
|
it 'uses translations only when requested' do
|
47
46
|
I18n.config.backend.store_translations(:en, activity: { test: '%{one} %{two}' })
|
48
|
-
@controller.view_paths.paths.clear
|
49
47
|
subject.render(self, two: 2, display: :i18n)
|
50
48
|
assert_equal rendered, '1 2'
|
51
49
|
end
|
data/test/test_helper.rb
CHANGED
@@ -32,7 +32,6 @@ when :active_record
|
|
32
32
|
active_record_version = ActiveRecord.version.release
|
33
33
|
|
34
34
|
if active_record_version >= Gem::Version.new('6.0.0')
|
35
|
-
schema_path = File.expand_path('../tmp/schema.rb', File.dirname(__FILE__))
|
36
35
|
ActiveRecord::MigrationContext.new(migrations_path, ActiveRecord::SchemaMigration).migrate
|
37
36
|
elsif active_record_version >= Gem::Version.new('5.2.0')
|
38
37
|
ActiveRecord::MigrationContext.new(migrations_path).migrate
|
@@ -96,7 +95,13 @@ when :mongoid
|
|
96
95
|
when :mongo_mapper
|
97
96
|
require 'mongo_mapper'
|
98
97
|
|
99
|
-
|
98
|
+
# TODO: remove when no longer support 2.5.8
|
99
|
+
config =
|
100
|
+
if RUBY_VERSION >= '2.6.0'
|
101
|
+
YAML.safe_load(File.read('test/mongo_mapper.yml'), aliases: true)
|
102
|
+
else
|
103
|
+
YAML.safe_load(File.read('test/mongo_mapper.yml'), [], [], true)
|
104
|
+
end
|
100
105
|
MongoMapper.setup(config, :test)
|
101
106
|
|
102
107
|
class User
|
@@ -127,12 +132,8 @@ when :mongo_mapper
|
|
127
132
|
end
|
128
133
|
end
|
129
134
|
|
130
|
-
class ViewSpec <
|
131
|
-
|
132
|
-
prepend ActiveSupport::Testing::SetupAndTeardown
|
133
|
-
else
|
134
|
-
include ActiveSupport::Testing::SetupAndTeardown
|
135
|
-
end
|
135
|
+
class ViewSpec < Minitest::Spec
|
136
|
+
prepend ActiveSupport::Testing::SetupAndTeardown
|
136
137
|
include ActionView::TestCase::Behavior
|
137
138
|
end
|
138
|
-
|
139
|
+
Minitest::Spec.register_spec_type(/Rendering$/, ViewSpec)
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: public_activity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Juri Hahn
|
7
8
|
- Piotrek Okoński
|
8
9
|
- Kuba Okoński
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2024-02-14 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: actionpack
|
@@ -17,56 +18,56 @@ dependencies:
|
|
17
18
|
requirements:
|
18
19
|
- - ">="
|
19
20
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
21
|
+
version: 6.1.0
|
21
22
|
type: :runtime
|
22
23
|
prerelease: false
|
23
24
|
version_requirements: !ruby/object:Gem::Requirement
|
24
25
|
requirements:
|
25
26
|
- - ">="
|
26
27
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
28
|
+
version: 6.1.0
|
28
29
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
30
|
+
name: i18n
|
30
31
|
requirement: !ruby/object:Gem::Requirement
|
31
32
|
requirements:
|
32
33
|
- - ">="
|
33
34
|
- !ruby/object:Gem::Version
|
34
|
-
version: 5.0
|
35
|
+
version: 0.5.0
|
35
36
|
type: :runtime
|
36
37
|
prerelease: false
|
37
38
|
version_requirements: !ruby/object:Gem::Requirement
|
38
39
|
requirements:
|
39
40
|
- - ">="
|
40
41
|
- !ruby/object:Gem::Version
|
41
|
-
version: 5.0
|
42
|
+
version: 0.5.0
|
42
43
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
44
|
+
name: railties
|
44
45
|
requirement: !ruby/object:Gem::Requirement
|
45
46
|
requirements:
|
46
47
|
- - ">="
|
47
48
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
49
|
+
version: 6.1.0
|
49
50
|
type: :runtime
|
50
51
|
prerelease: false
|
51
52
|
version_requirements: !ruby/object:Gem::Requirement
|
52
53
|
requirements:
|
53
54
|
- - ">="
|
54
55
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
56
|
+
version: 6.1.0
|
56
57
|
- !ruby/object:Gem::Dependency
|
57
58
|
name: activerecord
|
58
59
|
requirement: !ruby/object:Gem::Requirement
|
59
60
|
requirements:
|
60
61
|
- - ">="
|
61
62
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
63
|
+
version: '6.1'
|
63
64
|
type: :runtime
|
64
65
|
prerelease: false
|
65
66
|
version_requirements: !ruby/object:Gem::Requirement
|
66
67
|
requirements:
|
67
68
|
- - ">="
|
68
69
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
70
|
+
version: '6.1'
|
70
71
|
- !ruby/object:Gem::Dependency
|
71
72
|
name: appraisal
|
72
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,19 +83,19 @@ dependencies:
|
|
82
83
|
- !ruby/object:Gem::Version
|
83
84
|
version: '0'
|
84
85
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
86
|
+
name: minitest
|
86
87
|
requirement: !ruby/object:Gem::Requirement
|
87
88
|
requirements:
|
88
|
-
- - "
|
89
|
+
- - ">="
|
89
90
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
91
|
+
version: '0'
|
91
92
|
type: :development
|
92
93
|
prerelease: false
|
93
94
|
version_requirements: !ruby/object:Gem::Requirement
|
94
95
|
requirements:
|
95
|
-
- - "
|
96
|
+
- - ">="
|
96
97
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
98
|
+
version: '0'
|
98
99
|
- !ruby/object:Gem::Dependency
|
99
100
|
name: mocha
|
100
101
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,7 +111,7 @@ dependencies:
|
|
110
111
|
- !ruby/object:Gem::Version
|
111
112
|
version: '0'
|
112
113
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
114
|
+
name: pry
|
114
115
|
requirement: !ruby/object:Gem::Requirement
|
115
116
|
requirements:
|
116
117
|
- - ">="
|
@@ -124,7 +125,7 @@ dependencies:
|
|
124
125
|
- !ruby/object:Gem::Version
|
125
126
|
version: '0'
|
126
127
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
128
|
+
name: redcarpet
|
128
129
|
requirement: !ruby/object:Gem::Requirement
|
129
130
|
requirements:
|
130
131
|
- - ">="
|
@@ -138,7 +139,7 @@ dependencies:
|
|
138
139
|
- !ruby/object:Gem::Version
|
139
140
|
version: '0'
|
140
141
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
142
|
+
name: simplecov
|
142
143
|
requirement: !ruby/object:Gem::Requirement
|
143
144
|
requirements:
|
144
145
|
- - ">="
|
@@ -152,21 +153,21 @@ dependencies:
|
|
152
153
|
- !ruby/object:Gem::Version
|
153
154
|
version: '0'
|
154
155
|
- !ruby/object:Gem::Dependency
|
155
|
-
name:
|
156
|
+
name: sqlite3
|
156
157
|
requirement: !ruby/object:Gem::Requirement
|
157
158
|
requirements:
|
158
159
|
- - ">="
|
159
160
|
- !ruby/object:Gem::Version
|
160
|
-
version:
|
161
|
+
version: 1.4.1
|
161
162
|
type: :development
|
162
163
|
prerelease: false
|
163
164
|
version_requirements: !ruby/object:Gem::Requirement
|
164
165
|
requirements:
|
165
166
|
- - ">="
|
166
167
|
- !ruby/object:Gem::Version
|
167
|
-
version:
|
168
|
+
version: 1.4.1
|
168
169
|
- !ruby/object:Gem::Dependency
|
169
|
-
name:
|
170
|
+
name: test-unit
|
170
171
|
requirement: !ruby/object:Gem::Requirement
|
171
172
|
requirements:
|
172
173
|
- - ">="
|
@@ -180,7 +181,7 @@ dependencies:
|
|
180
181
|
- !ruby/object:Gem::Version
|
181
182
|
version: '0'
|
182
183
|
- !ruby/object:Gem::Dependency
|
183
|
-
name:
|
184
|
+
name: yard
|
184
185
|
requirement: !ruby/object:Gem::Requirement
|
185
186
|
requirements:
|
186
187
|
- - ">="
|
@@ -196,7 +197,7 @@ dependencies:
|
|
196
197
|
description: Easy activity tracking for your ActiveRecord models. Provides Activity
|
197
198
|
model with details about actions performed by your users, like adding comments,
|
198
199
|
responding etc.
|
199
|
-
email:
|
200
|
+
email: juri.hahn+public-activity@gmail.com
|
200
201
|
executables: []
|
201
202
|
extensions: []
|
202
203
|
extra_rdoc_files: []
|
@@ -262,10 +263,16 @@ files:
|
|
262
263
|
- test/views/custom/_test.erb
|
263
264
|
- test/views/layouts/_activity.erb
|
264
265
|
- test/views/public_activity/_test.erb
|
265
|
-
homepage: https://github.com/
|
266
|
+
homepage: https://github.com/public-activity/public_activity
|
266
267
|
licenses:
|
267
268
|
- MIT
|
268
|
-
metadata:
|
269
|
+
metadata:
|
270
|
+
bug_tracker_uri: https://github.com/public-activity/public_activity/issues
|
271
|
+
changelog_uri: https://github.com/public-activity/public_activity/blob/main/CHANGELOG.md
|
272
|
+
documentation_uri: https://rubydoc.info/gems/public_activity
|
273
|
+
homepage_uri: https://github.com/public-activity/public_activity
|
274
|
+
source_code_uri: https://github.com/public-activity/public_activity
|
275
|
+
rubygems_mfa_required: 'true'
|
269
276
|
post_install_message:
|
270
277
|
rdoc_options: []
|
271
278
|
require_paths:
|
@@ -274,14 +281,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
274
281
|
requirements:
|
275
282
|
- - ">="
|
276
283
|
- !ruby/object:Gem::Version
|
277
|
-
version:
|
284
|
+
version: 3.0.0
|
278
285
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
279
286
|
requirements:
|
280
287
|
- - ">="
|
281
288
|
- !ruby/object:Gem::Version
|
282
289
|
version: '0'
|
283
290
|
requirements: []
|
284
|
-
rubygems_version: 3.
|
291
|
+
rubygems_version: 3.5.6
|
285
292
|
signing_key:
|
286
293
|
specification_version: 4
|
287
294
|
summary: Easy activity tracking for ActiveRecord models
|