codekindly-utils 0.0.3 → 0.0.4

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: 16c87077bb68385ca6a26780c0a663e274df86d1
4
- data.tar.gz: 8311851ecd14b99f841314eb569f5641dd59686d
3
+ metadata.gz: 0789e3f04e0428ce3886fbf813a3b9b8226abeb8
4
+ data.tar.gz: 7b4473cb0ee368327121ee7bba9e7844a040e097
5
5
  SHA512:
6
- metadata.gz: 9173c1d767fcae0079bf752c5d5f188ed5d59b3c0e53f24d42c06bdb1d65569f956f3dbf114969bcf6eb1deefc6a18033c2274cb9c52be249be9327e60067db4
7
- data.tar.gz: 4ae5443743c4714056acb3ae9fe29efe48c6a23fb97b7e5caade2c3a07dd023b3026b094c7246beef0e76b5a891e7dc405758f403d5ea1c61ee100353b1e7efd
6
+ metadata.gz: 1f3cc0ca3dd20c4cf473825ccee41e9df421d95c8533ff8034907fa6fb102ce7105b0bd5bba0edcc5c649c3692ef210234dba5da44389d4443b130be707987dd
7
+ data.tar.gz: c3fc613a058c4389ed0c9c2898a506f74177ce29deb5f8ea8c83e8e35fcb9511b3ad14cd6c4b05f3a602511111ef0632fb4a44720c9237311b74fe2e7b3f1899
@@ -7,6 +7,7 @@ module CodeKindly
7
7
  sets = {}.with_indifferent_access
8
8
  find_active_record_classes.each do |klass|
9
9
  config_name = configurations.keys.select { |k| configurations[k]["database"] == klass.connection.current_database }.first
10
+ config_name ||= ::Rails.env
10
11
  sets[config_name] ||= []
11
12
  sets[config_name] << klass
12
13
  end
@@ -39,6 +40,7 @@ module CodeKindly
39
40
  connection ||= ::Rails.env
40
41
  @default_connection_class ||= {}.with_indifferent_access
41
42
  @default_connection_class[connection] ||= active_record_classes_by_connection.fetch(connection, []).first
43
+ @default_connection_class[connection] ||= active_record_classes_by_connection.fetch(active_record_classes_by_connection.keys).first
42
44
  end
43
45
 
44
46
  private
@@ -53,11 +55,18 @@ module CodeKindly
53
55
  end
54
56
  end
55
57
 
58
+ def application_active_record_class? (klass)
59
+ return false unless klass < ::ActiveRecord::Base
60
+ return false if klass.abstract_class
61
+ return false if klass.name =~ /ActiveRecord::/
62
+ true
63
+ end
64
+
56
65
  def find_active_record_classes
57
66
  if ::Rails.env.development?
58
67
  ::Dir.glob(::Rails.root.join("app", "models").to_s + "/**/*.rb") { |f| require f }
59
68
  end
60
- ObjectSpace.each_object(Class).select { |klass| klass < ::ActiveRecord::Base && !klass.abstract_class }.sort_by(&:name)
69
+ ObjectSpace.each_object(Class).select { |klass| application_active_record_class?(klass) }.sort_by(&:name)
61
70
  end
62
71
  end
63
72
  end
@@ -20,7 +20,7 @@ module CodeKindly
20
20
  @default_connection_class ||= CodeKindly::Utils::ActiveRecord.default_connection_class
21
21
  end
22
22
 
23
- def process (method_name, query, connection_class = nil)
23
+ def process (method_name, query, connection_class = NilClass)
24
24
  if query.is_a?(::ActiveRecord::Relation)
25
25
  connection_class = query.klass
26
26
  query = query.to_sql
@@ -29,10 +29,10 @@ module CodeKindly
29
29
  connection_class = CodeKindly::Utils::ActiveRecord.default_connection_class(connection_class)
30
30
  else
31
31
  connection_class = connection_class.class unless connection_class.is_a?(Class)
32
- connection_class = nil if connection_class < ::ActiveRecord::Base
32
+ connection_class = NilClass if connection_class < ::ActiveRecord::Base
33
33
  end
34
- connection_class ||= default_connection_class
35
34
  end
35
+ connection_class = default_connection_class if connection_class == NilClass
36
36
  connection_class.connection.send(method_name, query)
37
37
  end
38
38
  end
@@ -1,5 +1,5 @@
1
1
  module CodeKindly
2
2
  module Utils
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codekindly-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Weathers