activerecord-collections 0.0.21 → 0.0.22

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: 2d8c2bbbd91158545724fa1361d374e189c81411
4
- data.tar.gz: d9a9667c551a532fe1112eaf48bceb7e787b0dcd
3
+ metadata.gz: 1c788fe177f07965d7e9fb37df4da779206bd523
4
+ data.tar.gz: d37a31f2133132c15a808d1153cd4a312d73501b
5
5
  SHA512:
6
- metadata.gz: ccfc65a4b4b05ab59d90579937cd461f71edd783da29c5562ae340dad2d0c53089ee355f8fbee68409dafd728bf91b8d0e960c6da8be7253b35fceffc49d7161
7
- data.tar.gz: 121f1d0935db26f71bafc0994d22f632d066e421fa50aae716d30633f7db02f053ebf9e1656e5f1dbe135b3a4aedc85d311d3e4ba5079ef7e1eb00a1a0d2dda3
6
+ metadata.gz: 0a991e986d1738e97a4ff0dc74bd8dfde0a91161f2cd490931456b43b088f08dcb7f5f4c51fdd3cc9b0f22d8762beda65b09c8573d09b002e07f6aff14025d6f
7
+ data.tar.gz: 1f5dd876dff62b2ac00166134854162cadde85d05dab14a3634d9b18b765a19f88a2b05ba195055462d0b8819f5bff69d210010fa64d139ec81d946dcc5a29ab
@@ -8,30 +8,35 @@ module ActiveRecord
8
8
  include ActiveRecord::Collections::Pagination
9
9
  attr_reader :relation, :options
10
10
 
11
+ @@lock = Mutex.new
12
+
11
13
  class << self
12
- attr_accessor :kollektable
13
14
  attr_reader :collections
14
15
  def inherited(subclass)
15
- (@collections ||= []) << subclass
16
+ @@lock.synchronize do
17
+ (@collections ||= []) << subclass
18
+ end
16
19
  end
17
20
 
18
21
  def collectable(klass=nil)
19
- unless klass.nil?
20
- raise ArgumentError, "The collection model must inherit from ActiveRecord::Base" unless klass.ancestors.include?(ActiveRecord::Base)
21
- self.kollektable = klass
22
- end
22
+ @@lock.synchronize do
23
+ unless klass.nil?
24
+ raise ArgumentError, "The collection model must inherit from ActiveRecord::Base" unless klass.ancestors.include?(ActiveRecord::Base)
25
+ @collectable = klass
26
+ end
23
27
 
24
- if self.kollektable.nil?
25
- begin
26
- klass = self.name.demodulize.singularize.constantize
27
- self.kollektable = klass if !klass.nil? && klass.ancestors.include?(ActiveRecord::Base)
28
- rescue
29
- # singularized class doesn't exist
28
+ if @collectable.nil?
29
+ begin
30
+ klass = self.name.demodulize.singularize.constantize
31
+ @collectable = klass if !klass.nil? && klass.ancestors.include?(ActiveRecord::Base)
32
+ rescue
33
+ # singularized class doesn't exist
34
+ end
30
35
  end
31
- end
32
36
 
33
- raise "Unable to determine a model to use for your collection, please set one with the `collectable` class method" if self.kollektable.nil? # TODO implement real exceptions
34
- self.kollektable
37
+ raise "Unable to determine a model to use for your collection, please set one with the `collectable` class method" if @collectable.nil? # TODO implement real exceptions
38
+ @collectable
39
+ end
35
40
  end
36
41
  alias_method :model, :collectable
37
42
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module Collections
3
- VERSION = '0.0.21'
3
+ VERSION = '0.0.22'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-collections
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.21
4
+ version: 0.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Rebec