activerecord-collections 0.0.21 → 0.0.22

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