timeful 2.0.0 → 2.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e68198dc675d58a7bf9c9fff272d3eb0b6a7670
4
- data.tar.gz: 29213ad0187262a0ccd839c71bcb7b23fdc4ef62
3
+ metadata.gz: 1c3527afe169e3ce50b0a1e3b3f6a599d344dfa2
4
+ data.tar.gz: 4b0752a3af9a7977dc3d9bc29fc770c6376323d4
5
5
  SHA512:
6
- metadata.gz: eb31c2e9c51d929afcf1e652ed8c13daef738941fe307acca90f190b44e87c27eaf4a093d7f7d6f7ffc57bd850e8f30c7629ee5bb1856808d7f125f843e559ee
7
- data.tar.gz: b5ccba267919bb207acd5fa7b6d33102e58c4c831cc69adeca920c4ec85e389b9accd52fec54597436f28c9f29532e18e1dd53fae12e0c775a6624a0fec2f8c4
6
+ metadata.gz: 843731ed5936797cafee710d7435336bb23a386ad871f1e9be664c67daad0c900a05d22b7a1fcffab249538413effd216dc7caece2312fb72bdc9364453036b4
7
+ data.tar.gz: efa8755dfbbf95688fb3902265c850d927bb1f35751a75d08e534f2fb48a446be9b75bdfee411a9abf38875c3d4c0c6a2d4154c2d3140bab90889717856f0383
data/README.md CHANGED
@@ -92,6 +92,12 @@ Now, you can publish the `comment` activity:
92
92
  user.publish_activity :comment, target: comment
93
93
  ```
94
94
 
95
+ You can also attach metadata to the activity:
96
+
97
+ ```ruby
98
+ user.publish_activity :comment, target: comment, meta: { foo: 'bar' }
99
+ ```
100
+
95
101
  This will create an `Activity` and link it to the author's feed through a `FeedItem`:
96
102
 
97
103
  ```ruby
@@ -16,6 +16,8 @@ module Timeful
16
16
  # end
17
17
  # end
18
18
  class Activity < ApplicationRecord
19
+ serialize :meta, Hash
20
+
19
21
  belongs_to :actor, polymorphic: true
20
22
  belongs_to :target, polymorphic: true
21
23
 
@@ -0,0 +1,5 @@
1
+ class AddMetaToActivities < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :timeful_activities, :meta, :text
4
+ end
5
+ end
@@ -14,13 +14,14 @@ module Timeful
14
14
  #
15
15
  # @param action [Symbol] the action (or activity type) to create
16
16
  # @param target [ActiveRecord::Base] the target the action was taken upon
17
+ # @param meta [Hash] any metadata to attach to the activity
17
18
  #
18
19
  # @return [Activity] the created activity
19
20
  #
20
21
  # @example
21
22
  # actor.publish_activity :post_created, target: post # => #<PostCreatedActivity>
22
- def publish_activity(action, target:)
23
- activity = activity_klass(action).create! target: target, actor: self
23
+ def publish_activity(action, target:, meta: {})
24
+ activity = activity_klass(action).create! target: target, meta: meta, actor: self
24
25
  DeliverActivityToSubscribersJob.perform_later activity
25
26
  end
26
27
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Timeful
3
- VERSION = '2.0.0'
3
+ VERSION = '2.1.0'
4
4
  end
@@ -0,0 +1,6 @@
1
+ # This migration comes from timeful (originally 20160928120033)
2
+ class AddMetaToActivities < ActiveRecord::Migration[5.0]
3
+ def change
4
+ add_column :timeful_activities, :meta, :text
5
+ end
6
+ end
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 20160928114457) do
13
+ ActiveRecord::Schema.define(version: 20160928120048) do
14
14
 
15
15
  # These are extensions that must be enabled in order to support this database
16
16
  enable_extension "plpgsql"
@@ -28,6 +28,7 @@ ActiveRecord::Schema.define(version: 20160928114457) do
28
28
  t.string "actor_id", null: false
29
29
  t.datetime "created_at", null: false
30
30
  t.datetime "updated_at", null: false
31
+ t.text "meta"
31
32
  t.index ["actor_type", "actor_id"], name: "index_timeful_activities_on_actor_type_and_actor_id", using: :btree
32
33
  t.index ["target_type", "target_id"], name: "index_timeful_activities_on_target_type_and_target_id", using: :btree
33
34
  end
@@ -566,4 +566,64 @@ WHERE c.contype = 'f'
566
566
  AND t1.relname = 'users'
567
567
  AND t3.nspname = ANY (current_schemas(false))
568
568
  ORDER BY c.conname
569
+ 
570
+  (0.4ms) SELECT pg_try_advisory_lock(339456620476877820);
571
+ ActiveRecord::SchemaMigration Load (0.7ms) SELECT "schema_migrations".* FROM "schema_migrations"
572
+ Migrating to AddMetaToActivities (20160928120048)
573
+  (0.4ms) BEGIN
574
+  (0.6ms) ALTER TABLE "timeful_activities" ADD "meta" text
575
+ SQL (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20160928120048"]]
576
+  (2.8ms) COMMIT
577
+ ActiveRecord::InternalMetadata Load (6.9ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
578
+  (0.4ms) BEGIN
579
+  (3.8ms) COMMIT
580
+  (1.3ms) SELECT pg_advisory_unlock(339456620476877820)
581
+ ActiveRecord::SchemaMigration Load (2.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
582
+  (2.5ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
583
+ FROM pg_constraint c
584
+ JOIN pg_class t1 ON c.conrelid = t1.oid
585
+ JOIN pg_class t2 ON c.confrelid = t2.oid
586
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
587
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
588
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
589
+ WHERE c.contype = 'f'
590
+ AND t1.relname = 'posts'
591
+ AND t3.nspname = ANY (current_schemas(false))
592
+ ORDER BY c.conname
593
+ 
594
+  (2.3ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
595
+ FROM pg_constraint c
596
+ JOIN pg_class t1 ON c.conrelid = t1.oid
597
+ JOIN pg_class t2 ON c.confrelid = t2.oid
598
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
599
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
600
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
601
+ WHERE c.contype = 'f'
602
+ AND t1.relname = 'timeful_activities'
603
+ AND t3.nspname = ANY (current_schemas(false))
604
+ ORDER BY c.conname
605
+ 
606
+  (2.2ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
607
+ FROM pg_constraint c
608
+ JOIN pg_class t1 ON c.conrelid = t1.oid
609
+ JOIN pg_class t2 ON c.confrelid = t2.oid
610
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
611
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
612
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
613
+ WHERE c.contype = 'f'
614
+ AND t1.relname = 'timeful_feed_items'
615
+ AND t3.nspname = ANY (current_schemas(false))
616
+ ORDER BY c.conname
617
+ 
618
+  (2.3ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
619
+ FROM pg_constraint c
620
+ JOIN pg_class t1 ON c.conrelid = t1.oid
621
+ JOIN pg_class t2 ON c.confrelid = t2.oid
622
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
623
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
624
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
625
+ WHERE c.contype = 'f'
626
+ AND t1.relname = 'users'
627
+ AND t3.nspname = ANY (current_schemas(false))
628
+ ORDER BY c.conname
569
629
  
@@ -4447,3 +4447,184 @@ FOREIGN KEY ("activity_id")
4447
4447
   (0.4ms) BEGIN
4448
4448
   (0.8ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4449
4449
   (0.9ms) COMMIT
4450
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
4451
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
4452
+  (0.3ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
4453
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
4454
+ ActiveRecord::InternalMetadata Load (0.6ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
4455
+  (0.4ms) BEGIN
4456
+ SQL (0.6ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "test"], ["created_at", 2016-09-28 12:03:14 UTC], ["updated_at", 2016-09-28 12:03:14 UTC]]
4457
+  (5.1ms) COMMIT
4458
+ ActiveRecord::SchemaMigration Load (0.7ms) SELECT "schema_migrations".* FROM "schema_migrations"
4459
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
4460
+  (0.3ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
4461
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
4462
+  (0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
4463
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
4464
+  (0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
4465
+  (133.0ms) DROP DATABASE IF EXISTS "timeful_test"
4466
+  (373.0ms) CREATE DATABASE "timeful_test" ENCODING = 'utf8'
4467
+ SQL (0.6ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
4468
+  (7.7ms) CREATE TABLE "posts" ("id" serial primary key, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
4469
+  (8.8ms) CREATE TABLE "timeful_activities" ("id" serial primary key, "type" character varying NOT NULL, "target_type" character varying NOT NULL, "target_id" character varying NOT NULL, "actor_type" character varying NOT NULL, "actor_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "meta" text)
4470
+  (3.9ms) CREATE INDEX "index_timeful_activities_on_actor_type_and_actor_id" ON "timeful_activities" USING btree ("actor_type", "actor_id")
4471
+  (3.5ms) CREATE INDEX "index_timeful_activities_on_target_type_and_target_id" ON "timeful_activities" USING btree ("target_type", "target_id")
4472
+  (7.3ms) CREATE TABLE "timeful_feed_items" ("id" serial primary key, "subscriber_type" character varying NOT NULL, "subscriber_id" character varying NOT NULL, "activity_id" integer NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
4473
+  (4.3ms) CREATE INDEX "index_timeful_feed_items_on_subscriber_type_and_subscriber_id" ON "timeful_feed_items" USING btree ("subscriber_type", "subscriber_id")
4474
+  (5.2ms) CREATE TABLE "users" ("id" serial primary key, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
4475
+  (3.3ms) ALTER TABLE "timeful_feed_items" ADD CONSTRAINT "fk_rails_9bc442415c"
4476
+ FOREIGN KEY ("activity_id")
4477
+ REFERENCES "timeful_activities" ("id")
4478
+ ON DELETE CASCADE
4479
+  (7.0ms) CREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)
4480
+  (0.7ms) SELECT version FROM "schema_migrations"
4481
+  (1.4ms) INSERT INTO "schema_migrations" (version) VALUES ('20160928120048')
4482
+  (1.4ms) INSERT INTO schema_migrations (version) VALUES ('20160927160031'), ('20160928113645'), ('20160928104634'), ('20160928114457'), ('20160927141815'), ('20160927155215'), ('20160927160026');
4483
+
4484
+ 
4485
+  (6.6ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
4486
+ ActiveRecord::InternalMetadata Load (0.8ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
4487
+  (0.4ms) BEGIN
4488
+ SQL (0.7ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "test"], ["created_at", 2016-09-28 12:03:23 UTC], ["updated_at", 2016-09-28 12:03:23 UTC]]
4489
+  (1.4ms) COMMIT
4490
+ ActiveRecord::InternalMetadata Load (0.6ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
4491
+  (0.4ms) BEGIN
4492
+  (0.4ms) COMMIT
4493
+ ActiveRecord::SchemaMigration Load (0.8ms) SELECT "schema_migrations".* FROM "schema_migrations"
4494
+  (0.3ms) BEGIN
4495
+  (0.6ms) ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4496
+  (1.1ms) COMMIT
4497
+  (2.5ms)  SELECT schemaname || '.' || tablename
4498
+ FROM pg_tables
4499
+ WHERE
4500
+ tablename !~ '_prt_' AND
4501
+ tablename <> 'schema_migrations' AND
4502
+ schemaname = ANY (current_schemas(false))
4503
+ 
4504
+  (1.4ms) select table_name from information_schema.views where table_schema = 'timeful_test'
4505
+  (40.4ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4506
+  (0.2ms) BEGIN
4507
+  (0.4ms) ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4508
+  (1.2ms) COMMIT
4509
+  (0.3ms) BEGIN
4510
+  (0.3ms) ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4511
+  (0.9ms) COMMIT
4512
+  (25.2ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4513
+  (0.2ms) BEGIN
4514
+  (0.4ms) ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4515
+  (1.0ms) COMMIT
4516
+  (0.2ms) BEGIN
4517
+  (17.4ms) ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4518
+  (0.9ms) COMMIT
4519
+  (26.6ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4520
+  (0.4ms) BEGIN
4521
+  (0.5ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4522
+  (1.0ms) COMMIT
4523
+ ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations"
4524
+  (2.8ms) BEGIN
4525
+  (0.9ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4526
+  (2.6ms) COMMIT
4527
+  (1.8ms)  SELECT schemaname || '.' || tablename
4528
+ FROM pg_tables
4529
+ WHERE
4530
+ tablename !~ '_prt_' AND
4531
+ tablename <> 'schema_migrations' AND
4532
+ schemaname = ANY (current_schemas(false))
4533
+ 
4534
+  (1.4ms) select table_name from information_schema.views where table_schema = 'timeful_test'
4535
+  (23.5ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4536
+  (1.8ms) BEGIN
4537
+  (4.3ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4538
+  (1.5ms) COMMIT
4539
+  (0.3ms) BEGIN
4540
+  (0.8ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4541
+  (1.7ms) COMMIT
4542
+  (19.6ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4543
+  (0.2ms) BEGIN
4544
+  (0.4ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4545
+  (1.1ms) COMMIT
4546
+  (0.2ms) BEGIN
4547
+ SQL (0.6ms) INSERT INTO "users" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", 2016-09-28 12:04:51 UTC], ["updated_at", 2016-09-28 12:04:51 UTC]]
4548
+ SQL (0.5ms) INSERT INTO "posts" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", 2016-09-28 12:04:51 UTC], ["updated_at", 2016-09-28 12:04:51 UTC]]
4549
+ SQL (0.6ms) INSERT INTO "timeful_activities" ("type", "target_type", "target_id", "actor_type", "actor_id", "created_at", "updated_at", "meta") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" [["type", "PostActivity"], ["target_type", "Post"], ["target_id", "1"], ["actor_type", "User"], ["actor_id", "1"], ["created_at", 2016-09-28 12:04:51 UTC], ["updated_at", 2016-09-28 12:04:51 UTC], ["meta", "---\n:foo: bar\n"]]
4550
+  (1.1ms) COMMIT
4551
+ Timeful::Activity Load (0.3ms) SELECT "timeful_activities".* FROM "timeful_activities" WHERE "timeful_activities"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
4552
+  (0.3ms) BEGIN
4553
+  (1.5ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4554
+  (1.0ms) COMMIT
4555
+  (18.9ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4556
+  (0.2ms) BEGIN
4557
+  (0.4ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4558
+  (1.1ms) COMMIT
4559
+ ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations"
4560
+  (0.8ms) BEGIN
4561
+  (1.7ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4562
+  (3.9ms) COMMIT
4563
+  (1.4ms)  SELECT schemaname || '.' || tablename
4564
+ FROM pg_tables
4565
+ WHERE
4566
+ tablename !~ '_prt_' AND
4567
+ tablename <> 'schema_migrations' AND
4568
+ schemaname = ANY (current_schemas(false))
4569
+ 
4570
+  (1.1ms) select table_name from information_schema.views where table_schema = 'timeful_test'
4571
+  (21.8ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4572
+  (0.2ms) BEGIN
4573
+  (0.4ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4574
+  (0.8ms) COMMIT
4575
+  (0.3ms) BEGIN
4576
+  (0.5ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4577
+  (1.1ms) COMMIT
4578
+  (19.7ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4579
+  (0.2ms) BEGIN
4580
+  (0.7ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4581
+  (0.9ms) COMMIT
4582
+  (0.3ms) BEGIN
4583
+ SQL (0.7ms) INSERT INTO "users" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", 2016-09-28 12:05:05 UTC], ["updated_at", 2016-09-28 12:05:05 UTC]]
4584
+ SQL (0.6ms) INSERT INTO "posts" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", 2016-09-28 12:05:05 UTC], ["updated_at", 2016-09-28 12:05:05 UTC]]
4585
+ SQL (1.2ms) INSERT INTO "timeful_activities" ("type", "target_type", "target_id", "actor_type", "actor_id", "created_at", "updated_at", "meta") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" [["type", "PostActivity"], ["target_type", "Post"], ["target_id", "1"], ["actor_type", "User"], ["actor_id", "1"], ["created_at", 2016-09-28 12:05:05 UTC], ["updated_at", 2016-09-28 12:05:05 UTC], ["meta", "---\n:foo: bar\n"]]
4586
+  (1.0ms) COMMIT
4587
+ Timeful::Activity Load (0.5ms) SELECT "timeful_activities".* FROM "timeful_activities" WHERE "timeful_activities"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
4588
+  (0.3ms) BEGIN
4589
+  (0.5ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4590
+  (2.7ms) COMMIT
4591
+  (32.0ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4592
+  (0.2ms) BEGIN
4593
+  (0.4ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4594
+  (1.1ms) COMMIT
4595
+ ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations"
4596
+  (0.2ms) BEGIN
4597
+  (0.7ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4598
+  (5.9ms) COMMIT
4599
+  (1.9ms)  SELECT schemaname || '.' || tablename
4600
+ FROM pg_tables
4601
+ WHERE
4602
+ tablename !~ '_prt_' AND
4603
+ tablename <> 'schema_migrations' AND
4604
+ schemaname = ANY (current_schemas(false))
4605
+ 
4606
+  (2.3ms) select table_name from information_schema.views where table_schema = 'timeful_test'
4607
+  (24.8ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4608
+  (0.3ms) BEGIN
4609
+  (0.4ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4610
+  (1.0ms) COMMIT
4611
+  (0.2ms) BEGIN
4612
+  (0.4ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4613
+  (0.8ms) COMMIT
4614
+  (19.1ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4615
+  (0.2ms) BEGIN
4616
+  (0.4ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4617
+  (1.1ms) COMMIT
4618
+  (0.2ms) BEGIN
4619
+ SQL (0.7ms) INSERT INTO "users" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", 2016-09-28 12:05:22 UTC], ["updated_at", 2016-09-28 12:05:22 UTC]]
4620
+ SQL (0.5ms) INSERT INTO "posts" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", 2016-09-28 12:05:22 UTC], ["updated_at", 2016-09-28 12:05:22 UTC]]
4621
+ SQL (0.7ms) INSERT INTO "timeful_activities" ("type", "target_type", "target_id", "actor_type", "actor_id", "created_at", "updated_at", "meta") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" [["type", "PostActivity"], ["target_type", "Post"], ["target_id", "1"], ["actor_type", "User"], ["actor_id", "1"], ["created_at", 2016-09-28 12:05:22 UTC], ["updated_at", 2016-09-28 12:05:22 UTC], ["meta", "---\n:foo: bar\n"]]
4622
+  (1.2ms) COMMIT
4623
+ Timeful::Activity Load (0.3ms) SELECT "timeful_activities".* FROM "timeful_activities" WHERE "timeful_activities"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
4624
+  (0.2ms) BEGIN
4625
+  (0.4ms) ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "posts" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "timeful_activities" DISABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL
4626
+  (1.0ms) COMMIT
4627
+  (29.8ms) TRUNCATE TABLE "public"."posts", "public"."users", "public"."timeful_activities", "public"."timeful_feed_items", "public"."ar_internal_metadata" RESTART IDENTITY CASCADE;
4628
+  (0.3ms) BEGIN
4629
+  (0.5ms) ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "posts" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "timeful_activities" ENABLE TRIGGER ALL;ALTER TABLE "timeful_feed_items" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL
4630
+  (0.9ms) COMMIT
@@ -1,7 +1,8 @@
1
1
  example_id | status | run_time |
2
2
  -------------------------------------------------------------------- | ------ | --------------- |
3
3
  ./spec/jobs/timeful/deliver_activity_to_subscribers_job_spec.rb[1:1] | passed | 0.11858 seconds |
4
- ./spec/models/timeful/activity_spec.rb[1:1] | passed | 0.03826 seconds |
4
+ ./spec/models/timeful/activity_spec.rb[1:1] | passed | 0.06269 seconds |
5
+ ./spec/models/timeful/activity_spec.rb[1:2] | passed | 0.06302 seconds |
5
6
  ./spec/models/timeful/feed_item_spec.rb[1:1] | passed | 0.03574 seconds |
6
7
  ./spec/timeful/model/actor_spec.rb[1:1:1] | passed | 0.06665 seconds |
7
8
  ./spec/timeful/model/actor_spec.rb[1:1:2] | passed | 0.06035 seconds |
@@ -5,4 +5,9 @@ RSpec.describe Timeful::Activity do
5
5
  it 'is valid' do
6
6
  expect(subject).to be_valid
7
7
  end
8
+
9
+ it 'stores metadata' do
10
+ activity = create(:activity, meta: { foo: 'bar' }).reload
11
+ expect(activity.meta[:foo]).to eq('bar')
12
+ end
8
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timeful
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Desantis
@@ -176,6 +176,7 @@ files:
176
176
  - db/migrate/20160928104602_rename_feedable_to_subscriber_in_feed_items.rb
177
177
  - db/migrate/20160928113515_change_foreign_ids_to_string.rb
178
178
  - db/migrate/20160928114427_rename_object_to_target_in_activities.rb
179
+ - db/migrate/20160928120033_add_meta_to_activities.rb
179
180
  - lib/generators/timeful/install_generator.rb
180
181
  - lib/timeful.rb
181
182
  - lib/timeful/engine.rb
@@ -225,6 +226,7 @@ files:
225
226
  - spec/dummy/db/migrate/20160928104634_rename_feedable_to_subscriber_in_feed_items.timeful.rb
226
227
  - spec/dummy/db/migrate/20160928113645_change_foreign_ids_to_string.timeful.rb
227
228
  - spec/dummy/db/migrate/20160928114457_rename_object_to_target_in_activities.timeful.rb
229
+ - spec/dummy/db/migrate/20160928120048_add_meta_to_activities.timeful.rb
228
230
  - spec/dummy/db/schema.rb
229
231
  - spec/dummy/log/development.log
230
232
  - spec/dummy/log/test.log
@@ -301,6 +303,7 @@ test_files:
301
303
  - spec/dummy/db/migrate/20160928114457_rename_object_to_target_in_activities.timeful.rb
302
304
  - spec/dummy/db/migrate/20160927141815_create_timeful_activities.timeful.rb
303
305
  - spec/dummy/db/migrate/20160927155215_create_timeful_feed_items.timeful.rb
306
+ - spec/dummy/db/migrate/20160928120048_add_meta_to_activities.timeful.rb
304
307
  - spec/dummy/db/migrate/20160927160026_create_users.rb
305
308
  - spec/dummy/db/schema.rb
306
309
  - spec/dummy/bin/rake