public_activity 2.0.2 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa4a946e3b5ec45ad643a08338a4b150ddb912fa0489e053dc9d310727cc9367
4
- data.tar.gz: ba63edb8f4731b604cee4043fd31bf76abdcf45ca9eab971502ec7caa1b31939
3
+ metadata.gz: 37a2aa6ff87085d7785379491f35a7ff8a72b7683817ba06606f5c96e641985d
4
+ data.tar.gz: 628131cc96ae6dc8c871e8ef0a480331f635fddafcd4f162e18dedf9aa89d25d
5
5
  SHA512:
6
- metadata.gz: 04f48aec79e23c926de4ebe00219c611d5483e1eb9029cd400b501625eb1ca5d4be4b8071f6ae4552888175f2bfa4b7003b4fac9d610b4a649a8a5925d7d9676
7
- data.tar.gz: cb0abcede1c4c52de2ce8f572b25818f98803413e95959fed94382e3f65b843ae1caab9db10ca76dbfba1b50174e90935d424f58231014803ba017f90ee90416
6
+ metadata.gz: 14419c7a77acd1d7332a1ccde54aa6a563b22b2898e1d8e62c6d569240ed7b3b09adfb36388e35115987f872cb17ad9c78c5723a2f77307527e670c0beea05bd
7
+ data.tar.gz: 6b020d2ad93e424b727c10565b6b38c0d1073f4e5c79bd8c1162827c11a23b1424160b6de728af27dc03ca2e42186385bf5df5b6fcf802c581567f42d4f2aecf
data/README.md CHANGED
@@ -1,16 +1,12 @@
1
- # PublicActivity [![Build Status](https://secure.travis-ci.org/chaps-io/public_activity.svg)](http://travis-ci.org/chaps-io/public_activity) [![Code Climate](https://codeclimate.com/github/chaps-io/public_activity.svg)](https://codeclimate.com/github/chaps-io/public_activity) [![Gem Version](https://badge.fury.io/rb/public_activity.svg)](http://badge.fury.io/rb/public_activity)
1
+ # PublicActivity [![Code Climate](https://codeclimate.com/github/chaps-io/public_activity.svg)](https://codeclimate.com/github/chaps-io/public_activity) [![Gem Version](https://badge.fury.io/rb/public_activity.svg)](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 5.0+. Simply put: it records what has been changed or created and gives you the ability to present those
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 7](#rails-7)
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
  ![Example usage](http://i.imgur.com/q0TVx.png)
39
44
 
40
- ### Online demo
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[5.0]
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
- module ClassMethods
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 self.activity_hooks.has_key?(key) and self.activity_hooks[key].is_a? Proc
151
- self.activity_hooks[key]
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 = self.get_hook(key)
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 self.public_activity_enabled?
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 self.public_activity_enabled?
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
- return PublicActivity::Adapter.create_activity!(self, options)
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!(self.activity_custom_fields) if self.activity_custom_fields
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!(self.activity_params) if self.activity_params
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.has_key?(name) ? options[name] : (
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
- self.activity_key ||
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 &block
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=(en = nil)
35
- enabled(en)
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(en = nil)
53
- self.class.enabled(en)
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(en = nil)
74
- if en.nil?
75
- value = Thread.current[:public_activity_enabled]
76
- value.nil? ? true : value
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] = en
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(en = nil)
92
- @enabled = (en.nil? ? @enabled : en)
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
@@ -5,7 +5,7 @@ module PublicActivity
5
5
  module Activist
6
6
  # Delegates to configured ORM.
7
7
  def self.included(base)
8
- base.extend PublicActivity::inherit_orm("Activist")
8
+ base.extend PublicActivity.inherit_orm('Activist')
9
9
  end
10
10
  end
11
11
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PublicActivity
4
- class Activity < inherit_orm("Activity")
4
+ class Activity < inherit_orm
5
5
  end
6
6
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PublicActivity
4
4
  # Loads database-specific routines for use by PublicActivity.
5
- class Adapter < inherit_orm("Adapter")
5
+ class Adapter < inherit_orm('Adapter')
6
6
  end
7
7
  end
@@ -5,7 +5,7 @@ module PublicActivity
5
5
  module Trackable
6
6
  # Delegates to ORM.
7
7
  def self.included(base)
8
- base.extend PublicActivity::inherit_orm("Trackable")
8
+ base.extend PublicActivity.inherit_orm('Trackable')
9
9
  end
10
10
  end
11
11
  end
@@ -19,15 +19,16 @@ module PublicActivity
19
19
  # end
20
20
  #
21
21
  # In controller:
22
- # User.first.activities
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
- :class_name => "::PublicActivity::Activity",
27
- :as => :owner
27
+ class_name: '::PublicActivity::Activity',
28
+ as: :owner
28
29
  has_many :activities_as_recipient,
29
- :class_name => "::PublicActivity::Activity",
30
- :as => :recipient
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
- if not defined? Mysql2::Error::ConnectionError
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
- case ::ActiveRecord::VERSION::MAJOR
31
- when 5
32
- with_options(required: false) do
33
- # Define ownership to a resource responsible for this activity
34
- belongs_to :owner, polymorphic: true
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
- serialize :parameters, Hash unless [:json, :jsonb, :hstore].include?(columns_hash['parameters'].type)
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, :class_name => "::PublicActivity::Activity", :as => :trackable
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.rb'
5
- require_relative 'active_record/adapter.rb'
6
- require_relative 'active_record/activist.rb'
7
- require_relative 'active_record/trackable.rb'
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
- module ClassMethods
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.each do |key, value|
167
- include value
168
- end
164
+ modules.each_value { |mod| include mod }
169
165
  end
170
166
 
171
167
  def available_options
172
- [:skip_defaults, :only, :except, :on, :owner, :recipient, :params].freeze
168
+ %i[skip_defaults only except on owner recipient params].freeze
173
169
  end
174
170
 
175
171
  def assign_globals(options)
176
- [:owner, :recipient, :params].each do |key|
177
- if options[key]
178
- self.send("activity_#{key}_global=".to_sym, options.delete(key))
179
- end
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
- if options[:on].is_a?(Hash)
185
- self.activity_hooks = options[:on].select {|_, v| v.is_a? Proc}.symbolize_keys
186
- end
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
- self.activity_custom_fields_global[k] = v
187
+ activity_custom_fields_global[k] = v
192
188
  end
193
189
  end
194
190
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module PublicActivity
4
4
  # A constant with gem's version
5
- VERSION = '2.0.2'
5
+ VERSION = '3.0.1'
6
6
  end
@@ -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="Activity")
51
+ def self.inherit_orm(model = 'Activity')
52
52
  orm = PublicActivity.config.orm
53
- require "public_activity/orm/#{orm.to_s}"
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 # optional associations by recipient|owner
65
+ include Activist # optional associations by recipient|owner
65
66
  end
66
67
  end
67
68
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateArticles < ActiveRecord::Migration[5.0]
3
+ class CreateArticles < ActiveRecord::Migration[6.1]
4
4
  def self.up
5
5
  create_table :articles do |t|
6
6
  t.string :name
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateUsers < ActiveRecord::Migration[5.0]
3
+ class CreateUsers < ActiveRecord::Migration[6.1]
4
4
  def self.up
5
5
  create_table :users do |t|
6
6
  t.string :name
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class AddNonstandardToActivities < ActiveRecord::Migration[5.0]
3
+ class AddNonstandardToActivities < ActiveRecord::Migration[6.1]
4
4
  def change
5
5
  change_table :activities do |t|
6
6
  t.string :nonstandard
@@ -16,12 +16,11 @@ describe 'PublicActivity::Activity Rendering' do
16
16
 
17
17
  describe '#render' do
18
18
  subject do
19
- s = PublicActivity::Activity.new(key: 'activity.test', parameters: { one: 1 })
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.view_paths << File.expand_path('views', __dir__) }
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
- config = YAML.load(File.read('test/mongo_mapper.yml'))
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 < MiniTest::Spec
131
- if ActiveSupport.version >= Gem::Version.new('5.2.0')
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
- MiniTest::Spec.register_spec_type(/Rendering$/, ViewSpec)
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: 2.0.2
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: 2022-07-17 00:00:00.000000000 Z
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: 5.0.0
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: 5.0.0
28
+ version: 6.1.0
28
29
  - !ruby/object:Gem::Dependency
29
- name: railties
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.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.0
42
+ version: 0.5.0
42
43
  - !ruby/object:Gem::Dependency
43
- name: i18n
44
+ name: railties
44
45
  requirement: !ruby/object:Gem::Requirement
45
46
  requirements:
46
47
  - - ">="
47
48
  - !ruby/object:Gem::Version
48
- version: 0.5.0
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: 0.5.0
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: '5.0'
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: '5.0'
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: sqlite3
86
+ name: minitest
86
87
  requirement: !ruby/object:Gem::Requirement
87
88
  requirements:
88
- - - "~>"
89
+ - - ">="
89
90
  - !ruby/object:Gem::Version
90
- version: 1.4.1
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: 1.4.1
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: simplecov
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: test-unit
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: minitest
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: redcarpet
156
+ name: sqlite3
156
157
  requirement: !ruby/object:Gem::Requirement
157
158
  requirements:
158
159
  - - ">="
159
160
  - !ruby/object:Gem::Version
160
- version: '0'
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: '0'
168
+ version: 1.4.1
168
169
  - !ruby/object:Gem::Dependency
169
- name: yard
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: pry
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: piotrek@okonski.org
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/pokonski/public_activity
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: 2.5.0
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.3.17
291
+ rubygems_version: 3.5.6
285
292
  signing_key:
286
293
  specification_version: 4
287
294
  summary: Easy activity tracking for ActiveRecord models