timeful 2.0.0 → 2.1.0

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
  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