subj_models 0.2.4 → 0.2.5
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2bebc316aa2d96252a15f50ade1baef20e519be
|
4
|
+
data.tar.gz: 5d2c6b0bc3926553a5043fa7861049856703d389
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5161bdeafa156f2b10050091bc1cd7cd0d8e6f8af5fd082cda8d1d73de56ccee641394cd03cc3d8a22e2094c50c89290843a554952e363982986250486a9049
|
7
|
+
data.tar.gz: af60dee9c8d1142bde0393a34f0f840d68916d9ca5311d8d35084181c7e6aa5dade700c27a7c6548acbd413f1b2e6909a889ea3f31b8bed320e43b2106de9500
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module SubjModels
|
2
|
+
|
3
|
+
module ComprisingExternalId
|
4
|
+
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
included do
|
8
|
+
validates :external_id, uniqueness: true, allow_nil: true, allow_blank: true
|
9
|
+
scope :external_id, -> id { where(external_id: id) }
|
10
|
+
end
|
11
|
+
|
12
|
+
module ClassMethods
|
13
|
+
def find_by_external_or_internal_id(id)
|
14
|
+
if is_integer?(id)
|
15
|
+
self.find(id)
|
16
|
+
else
|
17
|
+
self.find_by!(external_id: id)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def is_integer?(value)
|
22
|
+
return true if value.is_a?(Integer)
|
23
|
+
value.to_i.to_s == value
|
24
|
+
end
|
25
|
+
|
26
|
+
def parent_id_scope(parent, id)
|
27
|
+
if id.is_a?(Array) || is_integer?(id)
|
28
|
+
joins(parent.to_sym).where("#{parent.pluralize}.id = ?", id)
|
29
|
+
else
|
30
|
+
joins(parent.to_sym).where("#{parent.pluralize}.external_id = ?", id)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -1,11 +1,14 @@
|
|
1
|
+
require 'subj_models/concerns/comprising_external_id'
|
2
|
+
|
1
3
|
module SubjModels
|
4
|
+
|
2
5
|
module MeasureUnit
|
3
6
|
|
4
7
|
def self.included(including_class)
|
5
8
|
|
6
9
|
including_class.class_eval do
|
7
10
|
|
8
|
-
include ComprisingExternalId
|
11
|
+
include SubjModels::ComprisingExternalId
|
9
12
|
|
10
13
|
#belongs_to :attribute_value
|
11
14
|
|
data/lib/subj_models/user.rb
CHANGED
@@ -2,6 +2,7 @@ require 'digest/sha1'
|
|
2
2
|
require 'subj_models/services/values_checker'
|
3
3
|
require 'subj_models/services/types_support'
|
4
4
|
require 'subj_models/concerns/shared_scopes'
|
5
|
+
require 'subj_models/concerns/comprising_external_id'
|
5
6
|
|
6
7
|
module SubjModels
|
7
8
|
|
@@ -21,8 +22,8 @@ module SubjModels
|
|
21
22
|
including_class.extend ClassMethods
|
22
23
|
including_class.class_eval do
|
23
24
|
|
24
|
-
include ComprisingExternalId
|
25
25
|
include RademadeAdmin::UserModule
|
26
|
+
include SubjModels::ComprisingExternalId
|
26
27
|
include SubjModels::SharedScopes
|
27
28
|
|
28
29
|
enum user_type: USER_TYPES
|
data/lib/subj_models/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subj_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Denys Dvoriashyn
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- bin/console
|
58
58
|
- bin/setup
|
59
59
|
- lib/subj_models.rb
|
60
|
+
- lib/subj_models/concerns/comprising_external_id.rb
|
60
61
|
- lib/subj_models/concerns/shared_scopes.rb
|
61
62
|
- lib/subj_models/document_file.rb
|
62
63
|
- lib/subj_models/measure_unit.rb
|