la_maquina 0.2.0 → 1.0.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: 2b9dfe4cad02401d7cff443f5fbe56a01a25e5a4
4
- data.tar.gz: 2db651c9df50e6ca050b0191c2e195b1dd3096a1
3
+ metadata.gz: e105bcb7993122b4bb988002ab8b18bc7eec6cf1
4
+ data.tar.gz: 6611913c1eacfe261935e89d4c1d841cb7c3344f
5
5
  SHA512:
6
- metadata.gz: b4e026c6f6260f8fb9f07230d2fdc096b4e98a949e795975d698169310453f1c7ddc8fa8132e1d1f2c586ffe0afa1097adf509662de27980e43af964c4837518
7
- data.tar.gz: 86dae1b58a104b38e08aa75c7691e2dcfc9f0094f0783da72f60c2c0303bd4b280619bea3ff12150b6fbc8cf9b49cb5d1ea4c54c1b12db62faf1d7c9c6028c60
6
+ metadata.gz: 03dd116c53d0a2780daec310bae5321d13f1b8b76eb07f409e4c8439589147b65c41bd5411bd2ca7e1cd1218f6fb6ed595917407e277c1cf927344f3bad622cc
7
+ data.tar.gz: 3abddd32d8049cee0e3a6078ae7baadbe4b02cc8555ae7aaac21a8693364fc0c88e79dae271db399c3b7a0017080b61ab4f669ec80eb9beb2230ec6b8a8a7b0d
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  coverage/
2
2
  test/dummy/log/*
3
- test/dummy/solr/*
3
+ test/dummy/solr/*
4
+ test/dummy/db/test.sqlite3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- la_maquina (0.1.3)
4
+ la_maquina (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # La Maquina
2
2
 
3
- Non-database-based arbitrary updates of `belongs_to` associated ActiveRecord models.
3
+ Non-database-based arbitrary updates of associated ActiveRecord models.
4
4
 
5
5
  Let's say you have 2 models
6
6
  ```ruby
@@ -57,9 +57,9 @@ to use it, in your `ActiveRecord::Base` model
57
57
  ```ruby
58
58
  include LaMaquina::Notifier
59
59
  ```
60
- It can either notify LaMaquina about the object itself with `notifies_about :self`, or about a `belongs_to` association with the following options:
60
+ It can either notify LaMaquina about the object itself with `notifies_about :self`, or about another association with the following options:
61
61
 
62
- * `:through`: same as rails. Note: expects the through object belongs_to the target object
62
+ * `:through`: same as rails.
63
63
  * `:polymorphic`: same as rails. Note: expects rails default target `_type` and targe `_id` fields to be present
64
64
  * `:class_name`: takes a modulized camelcased string name of the target class
65
65
  * `:class`: takes a class constant of the target class type
@@ -243,6 +243,19 @@ Or install it yourself as:
243
243
  $ gem install la_maquina
244
244
 
245
245
 
246
+ ## Testing
247
+
248
+ As of today, the tests rely on solr (I need to get rid of that, I know), so to test you need to
249
+
250
+ $ cd la_maquina/test/dummy
251
+ $ bundle install
252
+ $ rake db:migrate RAILS_ENV=test
253
+ $ bundle exec rake sunspot:solr:start RAILS_ENV=test
254
+ $ bundle exec rake sunspot:reindex RAILS_ENV=test
255
+
256
+ $ cd ../../
257
+ $ rake
258
+
246
259
  ## Contributing
247
260
 
248
261
  1. Fork it ( https://github.com/[my-github-username]/la_maquina/fork )
@@ -13,8 +13,8 @@ module LaMaquina
13
13
 
14
14
 
15
15
  class << self
16
- def notifies_about(object, opts = {})
17
- notified_objects << {:object => object, :options => opts}
16
+ def notifies_about(target, opts = {})
17
+ notified_objects << {:target => target, :options => opts}
18
18
  end
19
19
  end
20
20
 
@@ -24,21 +24,23 @@ module LaMaquina
24
24
  def notify!
25
25
  self.class.notified_objects.each do |notified|
26
26
 
27
- object = notified[:object]
27
+ target = notified[:target]
28
28
  options = notified[:options]
29
29
 
30
30
  comm_object = options[:using]
31
31
 
32
- klass = notified_klass( object, options )
33
- id = notified_id( object, options )
32
+ klass = notified_class( target, options )
33
+ ids = notified_id( target, options )
34
34
 
35
35
  notifier_class = LaMaquina.format_object_name(self)
36
36
 
37
37
  begin
38
- if comm_object
39
- comm_object.notify(:notified_class => klass, :notified_id => id, :notifier_class => notifier_class)
40
- else
41
- LaMaquina::Engine.notify! klass, id, notifier_class
38
+ ids.each do |id|
39
+ if comm_object
40
+ comm_object.notify(:notified_class => klass, :notified_id => id, :notifier_class => notifier_class)
41
+ else
42
+ LaMaquina::Engine.notify! klass, id, notifier_class
43
+ end
42
44
  end
43
45
  rescue => e
44
46
  LaMaquina.error_notifier.notify( e,
@@ -52,13 +54,17 @@ module LaMaquina
52
54
 
53
55
  private
54
56
 
55
- def notified_klass(object, options)
56
- if object == :self
57
+ def notified_class(target, options)
58
+ if target == :self
57
59
  return LaMaquina.format_object_name(self)
58
60
  end
59
61
 
60
62
  if options[:polymorphic]
61
- return LaMaquina.format_class_name(self.send("#{object}_type"))
63
+ if self.respond_to? "#{target}_type"
64
+ return LaMaquina.format_class_name(self.send("#{target}_type"))
65
+ else
66
+ return LaMaquina.format_class_name(self.send(target).class)
67
+ end
62
68
  end
63
69
 
64
70
  if options[:class_name]
@@ -69,19 +75,34 @@ module LaMaquina
69
75
  return LaMaquina.format_class_name(options[:class])
70
76
  end
71
77
 
72
- return object
78
+ return target.to_s.singularize
73
79
  end
74
80
 
75
- def notified_id(object, options)
76
- if object == :self
77
- return self.id
81
+ def notified_id(target, options)
82
+ if target == :self
83
+ return [self.id]
78
84
  end
79
85
 
80
86
  if options[:through]
81
- return self.send(options[:through]).send("#{object}_id")
87
+ ids = []
88
+ join_objects = Array(self.send(options[:through]))
89
+
90
+ join_objects.each do |obj|
91
+ if obj.respond_to? "#{target}_id"
92
+ ids << obj.send("#{target}_id")
93
+ else
94
+ ids << Array(obj.send(target)).map(&:id)
95
+ end
96
+ end
97
+
98
+ return ids
82
99
  end
83
100
 
84
- self.send("#{object}_id")
101
+ if self.respond_to? "#{target}_id"
102
+ Array self.send("#{target}_id")
103
+ else
104
+ Array(self.send(target)).map(&:id)
105
+ end
85
106
  end
86
107
  end
87
108
  end
@@ -1,3 +1,3 @@
1
1
  module LaMaquina
2
- VERSION = "0.2.0"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -1,8 +1,10 @@
1
1
  class Admin < ActiveRecord::Base
2
- has_many :admin_traits
3
- has_many :traits, :through => :admin_traits
2
+ has_many :admin_traits, foreign_key: :user_id
3
+ has_many :traits, through: :admin_traits, source: :blah
4
+ has_one :admin_thing
5
+ has_one :thing, through: :admin_thing
4
6
 
5
- has_many :properties, :as => :user
7
+ has_many :properties, as: :user
6
8
 
7
9
  searchable do
8
10
  text :name
@@ -11,5 +13,11 @@ class Admin < ActiveRecord::Base
11
13
  include LaMaquina::Notifier
12
14
  notifies_about :self
13
15
 
14
- notifies_about :self, using: ::DummyCommObject
16
+ notifies_about :self, using: ::DummyCommObject
17
+
18
+ notifies_about :traits, using: ::CleverCommObject
19
+ notifies_about :admin_traits, using: ::CleverCommObject
20
+
21
+ notifies_about :thing, using: ::CleverCommObject
22
+ notifies_about :admin_thing, using: ::CleverCommObject
15
23
  end
@@ -0,0 +1,4 @@
1
+ class AdminThing < ActiveRecord::Base
2
+ belongs_to :admin
3
+ belongs_to :thing
4
+ end
@@ -1,9 +1,9 @@
1
1
  class AdminTrait < ActiveRecord::Base
2
2
  belongs_to :user, :class_name => "Admin"
3
- belongs_to :thing, :class_name => "Trait"
3
+ belongs_to :blah, :class_name => "Trait"
4
4
 
5
5
  include LaMaquina::Notifier
6
6
 
7
7
  notifies_about :user, :class => Admin
8
- notifies_about :thing, :class_name => "Trait"
8
+ notifies_about :blah, :class_name => "Trait"
9
9
  end
@@ -4,5 +4,5 @@ class AdminTraitModifier < ActiveRecord::Base
4
4
  include LaMaquina::Notifier
5
5
 
6
6
  notifies_about :user, :through => :admin_trait, :class_name => "Admin"
7
- notifies_about :thing, :through => :admin_trait, :class => Trait
7
+ notifies_about :blah, :through => :admin_trait, :class => Trait
8
8
  end
@@ -1,10 +1,19 @@
1
1
  class Guest < ActiveRecord::Base
2
2
  has_many :guest_traits
3
- has_many :traits, :through => :guest_traits
3
+ has_many :traits, through: :guest_traits
4
+
5
+ has_one :guest_thing
6
+ has_one :thing, through: :guest_thing
4
7
 
5
8
  has_many :properties, :as => :user
6
9
 
7
10
  include LaMaquina::Notifier
8
11
 
9
12
  notifies_about :self
13
+
14
+ notifies_about :traits
15
+ notifies_about :guest_traits
16
+
17
+ notifies_about :thing
18
+ notifies_about :guest_thing
10
19
  end
@@ -0,0 +1,4 @@
1
+ class GuestThing < ActiveRecord::Base
2
+ belongs_to :guest
3
+ belongs_to :thing
4
+ end
@@ -0,0 +1,2 @@
1
+ class Thing < ActiveRecord::Base
2
+ end
@@ -20,7 +20,7 @@ class Schema < ActiveRecord::Migration
20
20
 
21
21
  create_table :admin_traits do |t|
22
22
  t.belongs_to :user
23
- t.belongs_to :thing
23
+ t.belongs_to :blah
24
24
  t.string :value
25
25
  end
26
26
 
@@ -42,6 +42,22 @@ class Schema < ActiveRecord::Migration
42
42
  create_table :standalones do |t|
43
43
  t.string :value
44
44
  end
45
+
46
+ create_table :admin_things do |t|
47
+ t.belongs_to :admin
48
+ t.string :value
49
+ t.belongs_to :thing
50
+ end
51
+
52
+ create_table :guest_things do |t|
53
+ t.belongs_to :guest
54
+ t.string :value
55
+ t.belongs_to :thing
56
+ end
57
+
58
+ create_table :things do |t|
59
+ t.string :value
60
+ end
45
61
  end
46
62
  end
47
63
 
@@ -11,5 +11,82 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 0) do
14
+ ActiveRecord::Schema.define(version: 20150228015009) do
15
+
16
+ create_table "admin_thing", force: :cascade do |t|
17
+ t.integer "admin_id"
18
+ t.string "value"
19
+ t.integer "thing_id"
20
+ end
21
+
22
+ create_table "admin_things", force: :cascade do |t|
23
+ t.integer "admin_id"
24
+ t.string "value"
25
+ t.integer "thing_id"
26
+ end
27
+
28
+ create_table "admin_trait_modifiers", force: :cascade do |t|
29
+ t.integer "admin_trait_id"
30
+ t.string "modifier"
31
+ end
32
+
33
+ create_table "admin_traits", force: :cascade do |t|
34
+ t.integer "user_id"
35
+ t.integer "blah_id"
36
+ t.string "value"
37
+ end
38
+
39
+ create_table "admins", force: :cascade do |t|
40
+ t.string "name"
41
+ end
42
+
43
+ create_table "guest_thing", force: :cascade do |t|
44
+ t.integer "guest_id"
45
+ t.string "value"
46
+ t.integer "thing_id"
47
+ end
48
+
49
+ create_table "guest_things", force: :cascade do |t|
50
+ t.integer "guest_id"
51
+ t.string "value"
52
+ t.integer "thing_id"
53
+ end
54
+
55
+ create_table "guest_trait_modifiers", force: :cascade do |t|
56
+ t.integer "guest_trait_id"
57
+ t.string "modifier"
58
+ end
59
+
60
+ create_table "guest_traits", force: :cascade do |t|
61
+ t.integer "guest_id"
62
+ t.integer "trait_id"
63
+ t.string "value"
64
+ end
65
+
66
+ create_table "guests", force: :cascade do |t|
67
+ t.string "name"
68
+ end
69
+
70
+ create_table "properties", force: :cascade do |t|
71
+ t.integer "user_id"
72
+ t.string "user_type"
73
+ t.string "value"
74
+ end
75
+
76
+ create_table "standalones", force: :cascade do |t|
77
+ t.string "value"
78
+ end
79
+
80
+ create_table "thing", force: :cascade do |t|
81
+ t.string "value"
82
+ end
83
+
84
+ create_table "things", force: :cascade do |t|
85
+ t.string "value"
86
+ end
87
+
88
+ create_table "traits", force: :cascade do |t|
89
+ t.string "name"
90
+ end
91
+
15
92
  end
@@ -0,0 +1,5 @@
1
+ class CleverCommObject
2
+ def self.notify(params)
3
+ LaMaquina::Engine.notify!(params[:notified_class], params[:notified_id], params[:notifier_class])
4
+ end
5
+ end
@@ -48,3 +48,6 @@ SQLite3::SQLException: no such table: admins: SELECT "admins".* FROM "admins"
48
48
   (13.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
49
49
   (0.1ms) SELECT version FROM "schema_migrations"
50
50
   (11.9ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
51
+ SOLR Request (126.3ms) [ path=update parameters={} ]
52
+ Admin Load (0.2ms) SELECT "admins".* FROM "admins" ORDER BY "admins"."id" ASC LIMIT 50
53
+ SQLite3::SQLException: no such table: admins: SELECT "admins".* FROM "admins" ORDER BY "admins"."id" ASC LIMIT 50
@@ -0,0 +1,3 @@
1
+ sus_thing_one:
2
+ admin: su
3
+ thing: thing_one
@@ -1,4 +1,10 @@
1
+ wheels_something:
2
+ user: wheel
3
+ blah: something
4
+ value: completely different
5
+
1
6
  wheels_something_else:
2
7
  user: wheel
3
- thing: something_else
4
- value: tha larch
8
+ blah: something_else
9
+ value: tha larch
10
+
@@ -0,0 +1,3 @@
1
+ gregs_thing_one:
2
+ guest: greg
3
+ thing: thing_one
@@ -1,4 +1,9 @@
1
1
  gregs_something:
2
2
  guest: greg
3
3
  trait: something
4
- value: many moons
4
+ value: many moons
5
+
6
+ gregs_something_else:
7
+ guest: greg
8
+ trait: something_else
9
+ value: whatever
@@ -0,0 +1,2 @@
1
+ thing_one:
2
+ value: Plateau
@@ -16,12 +16,4 @@ class LaMaquinaTest < ActiveSupport::TestCase
16
16
  assert_equal "admin", LaMaquina.format_class_name(Admin)
17
17
  assert_equal "admin_trait", LaMaquina.format_class_name(AdminTrait)
18
18
  end
19
-
20
-
21
- def test_full_stack
22
- @admin.name = "lol"
23
- @admin.save!
24
-
25
- assert_equal "admin/#{@admin.id}", $fire_message
26
- end
27
19
  end
@@ -11,13 +11,13 @@ class NotifierTest < ActiveSupport::TestCase
11
11
  def test_notifier_suports_explicit_class_and_class_name
12
12
  admin_attr = admin_traits(:wheels_something_else)
13
13
  admin_key = LaMaquina::Piston::CachePiston.cache_key :admin, admin_attr.user.id
14
- trait_key = LaMaquina::Piston::CachePiston.cache_key :trait, admin_attr.thing.id
14
+ trait_key = LaMaquina::Piston::CachePiston.cache_key :trait, admin_attr.blah.id
15
15
 
16
16
  admin_attr.value = "lol"
17
17
  admin_attr.save!
18
18
 
19
19
  assert_not_equal admin_key, LaMaquina::Piston::CachePiston.cache_key(:admin, admin_attr.user.id)
20
- assert_not_equal trait_key, LaMaquina::Piston::CachePiston.cache_key(:trait, admin_attr.thing.id)
20
+ assert_not_equal trait_key, LaMaquina::Piston::CachePiston.cache_key(:trait, admin_attr.blah.id)
21
21
  end
22
22
 
23
23
  def test_notifier_can_update_self
@@ -94,13 +94,13 @@ class NotifierTest < ActiveSupport::TestCase
94
94
  def test_notifier_can_update_through_with_explicit_target_class
95
95
  modifier = admin_trait_modifiers(:wheels_something_else_modifier)
96
96
  admin_key = LaMaquina::Piston::CachePiston.cache_key :admin, modifier.admin_trait.user.id
97
- trait_key = LaMaquina::Piston::CachePiston.cache_key :trait, modifier.admin_trait.thing.id
97
+ trait_key = LaMaquina::Piston::CachePiston.cache_key :trait, modifier.admin_trait.blah.id
98
98
 
99
99
  modifier.modifier = "something something darkside"
100
100
  modifier.save!
101
101
 
102
102
  assert_not_equal admin_key, LaMaquina::Piston::CachePiston.cache_key(:admin, modifier.admin_trait.user.id)
103
- assert_not_equal trait_key, LaMaquina::Piston::CachePiston.cache_key(:trait, modifier.admin_trait.thing.id)
103
+ assert_not_equal trait_key, LaMaquina::Piston::CachePiston.cache_key(:trait, modifier.admin_trait.blah.id)
104
104
  end
105
105
 
106
106
  def test_notify_through_intermediate_object
@@ -108,6 +108,8 @@ class NotifierTest < ActiveSupport::TestCase
108
108
  admin.update_attribute(:name, "lol")
109
109
 
110
110
  assert $dummy_params, "comm_object wasn't called"
111
+
112
+ # NOTE: this value is the last notifies_about with a `using: DummyCommObject` in the file because DummyCommObject is indeed a dummy.
111
113
  assert_equal "admin", $dummy_params[:notified_class]
112
114
  end
113
115
 
@@ -120,4 +122,112 @@ class NotifierTest < ActiveSupport::TestCase
120
122
  assert_equal "oh noes!", $error.to_s
121
123
  assert_equal "standalone", $deets[:notified_class]
122
124
  end
125
+
126
+ def test_notifier_can_update_has_one
127
+ greg = guests(:greg)
128
+
129
+ key = LaMaquina::Piston::CachePiston.cache_key :guest_thing, greg.guest_thing.id
130
+
131
+ greg.touch
132
+
133
+ assert_not_equal key, LaMaquina::Piston::CachePiston.cache_key(:guest_thing, greg.guest_thing.id)
134
+ end
135
+
136
+ def test_notifier_can_update_has_one_through
137
+ greg = guests(:greg)
138
+
139
+ key = LaMaquina::Piston::CachePiston.cache_key :thing, greg.thing.id
140
+
141
+ greg.touch
142
+
143
+ assert_not_equal key, LaMaquina::Piston::CachePiston.cache_key(:thing, greg.thing.id)
144
+ end
145
+
146
+ def test_notifier_can_update_has_one_with_comm_object
147
+ su = admins(:su)
148
+
149
+ key = LaMaquina::Piston::CachePiston.cache_key :admin_thing, su.admin_thing.id
150
+
151
+ su.touch
152
+
153
+ assert_not_equal key, LaMaquina::Piston::CachePiston.cache_key(:admin_thing, su.admin_thing.id)
154
+ end
155
+
156
+ def test_notifier_can_update_has_one_through_with_comm_object
157
+ su = admins(:su)
158
+
159
+ key = LaMaquina::Piston::CachePiston.cache_key :thing, su.thing.id
160
+
161
+ su.touch
162
+
163
+ assert_not_equal key, LaMaquina::Piston::CachePiston.cache_key(:thing, su.thing.id)
164
+ end
165
+
166
+ def test_notifier_can_update_has_many
167
+ greg = guests(:greg)
168
+
169
+ trait_keys = greg.guest_traits.map{ |guest_trait|
170
+ {
171
+ gt: guest_trait,
172
+ key: LaMaquina::Piston::CachePiston.cache_key( :guest_trait, guest_trait.id )
173
+ }
174
+ }
175
+
176
+ greg.touch
177
+
178
+ trait_keys.each do |pair|
179
+ assert_not_equal pair[:key], LaMaquina::Piston::CachePiston.cache_key(:guest_trait, pair[:gt].id)
180
+ end
181
+ end
182
+
183
+ def test_notifier_can_update_has_many_through
184
+ greg = guests(:greg)
185
+
186
+ trait_keys = greg.traits.map{ |trait|
187
+ {
188
+ t: trait,
189
+ key: LaMaquina::Piston::CachePiston.cache_key( :trait, trait.id )
190
+ }
191
+ }
192
+
193
+ greg.touch
194
+
195
+ trait_keys.each do |pair|
196
+ assert_not_equal pair[:key], LaMaquina::Piston::CachePiston.cache_key(:thing, pair[:t].id)
197
+ end
198
+ end
199
+
200
+ def test_notifier_can_update_has_many_with_comm_object
201
+ su = admins(:su)
202
+
203
+ trait_keys = su.admin_traits.map{ |admin_trait|
204
+ {
205
+ gt: admin_trait,
206
+ key: LaMaquina::Piston::CachePiston.cache_key( :admin_trait, admin_trait.id )
207
+ }
208
+ }
209
+
210
+ su.touch
211
+
212
+ trait_keys.each do |pair|
213
+ assert_not_equal pair[:key], LaMaquina::Piston::CachePiston.cache_key(:admin_trait, pair[:gt].id)
214
+ end
215
+ end
216
+
217
+ def test_notifier_can_update_has_many_through_with_comm_object
218
+ su = admins(:su)
219
+
220
+ trait_keys = su.traits.map{ |trait|
221
+ {
222
+ t: trait,
223
+ key: LaMaquina::Piston::CachePiston.cache_key( :trait, trait.id )
224
+ }
225
+ }
226
+
227
+ su.touch
228
+
229
+ trait_keys.each do |pair|
230
+ assert_not_equal pair[:key], LaMaquina::Piston::CachePiston.cache_key(:thing, pair[:t].id)
231
+ end
232
+ end
123
233
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: la_maquina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Orlov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-11 00:00:00.000000000 Z
11
+ date: 2015-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -87,13 +87,16 @@ files:
87
87
  - test/dummy/Rakefile
88
88
  - test/dummy/app/models/.keep
89
89
  - test/dummy/app/models/admin.rb
90
+ - test/dummy/app/models/admin_thing.rb
90
91
  - test/dummy/app/models/admin_trait.rb
91
92
  - test/dummy/app/models/admin_trait_modifier.rb
92
93
  - test/dummy/app/models/guest.rb
94
+ - test/dummy/app/models/guest_thing.rb
93
95
  - test/dummy/app/models/guest_trait.rb
94
96
  - test/dummy/app/models/guest_trait_modifier.rb
95
97
  - test/dummy/app/models/property.rb
96
98
  - test/dummy/app/models/standalone.rb
99
+ - test/dummy/app/models/thing.rb
97
100
  - test/dummy/app/models/trait.rb
98
101
  - test/dummy/config.ru
99
102
  - test/dummy/config/application.rb
@@ -122,7 +125,7 @@ files:
122
125
  - test/dummy/db/development.sqlite3
123
126
  - test/dummy/db/migrate/20150228015009_schema.rb
124
127
  - test/dummy/db/schema.rb
125
- - test/dummy/db/test.sqlite3
128
+ - test/dummy/lib/clever_comm_object.rb
126
129
  - test/dummy/lib/dummy_comm_object.rb
127
130
  - test/dummy/lib/exploding_comm_object.rb
128
131
  - test/dummy/lib/exploding_piston.rb
@@ -135,14 +138,17 @@ files:
135
138
  - test/dummy/public/422.html
136
139
  - test/dummy/public/500.html
137
140
  - test/dummy/public/favicon.ico
141
+ - test/dummy/test/fixtures/admin_things.yml
138
142
  - test/dummy/test/fixtures/admin_trait_modifiers.yml
139
143
  - test/dummy/test/fixtures/admin_traits.yml
140
144
  - test/dummy/test/fixtures/admins.yml
145
+ - test/dummy/test/fixtures/guest_things.yml
141
146
  - test/dummy/test/fixtures/guest_trait_modifiers.yml
142
147
  - test/dummy/test/fixtures/guest_traits.yml
143
148
  - test/dummy/test/fixtures/guests.yml
144
149
  - test/dummy/test/fixtures/properties.yml
145
150
  - test/dummy/test/fixtures/standalones.yml
151
+ - test/dummy/test/fixtures/things.yml
146
152
  - test/dummy/test/fixtures/traits.yml
147
153
  - test/test_helper.rb
148
154
  - test/unit/dependency_maps/constant_map_test.rb
@@ -174,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
180
  version: '0'
175
181
  requirements: []
176
182
  rubyforge_project:
177
- rubygems_version: 2.4.6
183
+ rubygems_version: 2.4.5
178
184
  signing_key:
179
185
  specification_version: 4
180
186
  summary: depnendency tree update notifications
@@ -182,13 +188,16 @@ test_files:
182
188
  - test/dummy/Rakefile
183
189
  - test/dummy/app/models/.keep
184
190
  - test/dummy/app/models/admin.rb
191
+ - test/dummy/app/models/admin_thing.rb
185
192
  - test/dummy/app/models/admin_trait.rb
186
193
  - test/dummy/app/models/admin_trait_modifier.rb
187
194
  - test/dummy/app/models/guest.rb
195
+ - test/dummy/app/models/guest_thing.rb
188
196
  - test/dummy/app/models/guest_trait.rb
189
197
  - test/dummy/app/models/guest_trait_modifier.rb
190
198
  - test/dummy/app/models/property.rb
191
199
  - test/dummy/app/models/standalone.rb
200
+ - test/dummy/app/models/thing.rb
192
201
  - test/dummy/app/models/trait.rb
193
202
  - test/dummy/config.ru
194
203
  - test/dummy/config/application.rb
@@ -217,7 +226,7 @@ test_files:
217
226
  - test/dummy/db/development.sqlite3
218
227
  - test/dummy/db/migrate/20150228015009_schema.rb
219
228
  - test/dummy/db/schema.rb
220
- - test/dummy/db/test.sqlite3
229
+ - test/dummy/lib/clever_comm_object.rb
221
230
  - test/dummy/lib/dummy_comm_object.rb
222
231
  - test/dummy/lib/exploding_comm_object.rb
223
232
  - test/dummy/lib/exploding_piston.rb
@@ -230,14 +239,17 @@ test_files:
230
239
  - test/dummy/public/422.html
231
240
  - test/dummy/public/500.html
232
241
  - test/dummy/public/favicon.ico
242
+ - test/dummy/test/fixtures/admin_things.yml
233
243
  - test/dummy/test/fixtures/admin_trait_modifiers.yml
234
244
  - test/dummy/test/fixtures/admin_traits.yml
235
245
  - test/dummy/test/fixtures/admins.yml
246
+ - test/dummy/test/fixtures/guest_things.yml
236
247
  - test/dummy/test/fixtures/guest_trait_modifiers.yml
237
248
  - test/dummy/test/fixtures/guest_traits.yml
238
249
  - test/dummy/test/fixtures/guests.yml
239
250
  - test/dummy/test/fixtures/properties.yml
240
251
  - test/dummy/test/fixtures/standalones.yml
252
+ - test/dummy/test/fixtures/things.yml
241
253
  - test/dummy/test/fixtures/traits.yml
242
254
  - test/test_helper.rb
243
255
  - test/unit/dependency_maps/constant_map_test.rb
Binary file