subj_models 0.3.7 → 0.3.8

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: 48471a7c556f02bb0bccac66dd2623634751f9ff
4
- data.tar.gz: 0468ce59403329aa385750a4aa42059a97d661cf
3
+ metadata.gz: ca667519b6e1eaea60b0cff2aee33abbedbc0915
4
+ data.tar.gz: 90b6ce6ff87f9f0b82554a115a76fd2b9fcf3189
5
5
  SHA512:
6
- metadata.gz: a9e6fab46ffcbbf3457d9d3bff072dc74ff6ec93bc7ebf03cdd3a2b9675a372549a4533b1759bf87aa33ae661ac735211dac1db896c43dde94132756825930be
7
- data.tar.gz: 0e5085f1a165dc9861e99321bcf184124b4db105f42b438933f379677b6269ee8860f702da65d9563eaeea043c375e98684ee3b7f785587c0eed5764e096199e
6
+ metadata.gz: deb1126cf678f09f5bd050d0af69995af86d31d1da27b17f9be4909b00b79834866d0f83ea42cfe8d738d8de4c988a474b926de62bc3c5f96fc4e4fc041c441a
7
+ data.tar.gz: e43eab6093da681c663802fa8228aea16424273182cb916baff779d8f3c6e3efe55fd99ea018106208dd3aaef96cdaca5715d45255c561d4c2acef4d127969fe
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /lib/subj_models/.DS_Store
@@ -7,6 +7,10 @@ require 'subj_models/event_schedule'
7
7
  require 'subj_models/event'
8
8
  require 'subj_models/brand_line'
9
9
  require 'subj_models/brand'
10
+ require 'subj_models/user_specialization_approval'
11
+ require 'subj_models/video'
12
+ require 'subj_models/nomenclature_file'
13
+ require 'subj_models/nomenclature_photo'
10
14
 
11
15
  module SubjModels
12
16
 
@@ -8,17 +8,17 @@ module SubjModels
8
8
 
9
9
  including_class.class_eval do
10
10
 
11
- include ComprisingExternalId
11
+ include SubjModels::ComprisingExternalId
12
12
 
13
- # has_one :nomenclature_photo
14
- # has_one :nomenclature_file
13
+ has_one :nomenclature_photo
14
+ has_one :nomenclature_file
15
15
  has_one :brand_line
16
16
  has_one :user
17
17
  has_one :manager
18
- # has_one :user_specialization_approval
18
+ has_one :user_specialization_approval
19
19
  has_one :event
20
20
 
21
- # has_many :videos
21
+ has_many :videos
22
22
  has_many :brands
23
23
 
24
24
  mount_uploader :file_data, PhotoUploader
@@ -0,0 +1,44 @@
1
+ require 'subj_models/services/values_checker'
2
+ require 'subj_models/services/types_support'
3
+ require 'subj_models/concerns/shared_scopes'
4
+ require 'subj_models/concerns/comprising_external_id'
5
+
6
+ module SubjModels
7
+
8
+ module NomenclatureFile
9
+
10
+ include SubjModels::TypesSupport::FileTypes
11
+ include SubjModels::ValuesChecker
12
+
13
+ def self.included(including_class)
14
+
15
+ including_class.class_eval do
16
+
17
+ include SubjModels::SharedScopes
18
+ include SubjModels::ComprisingExternalId
19
+
20
+ enum file_type: FILE_TYPES
21
+
22
+ belongs_to :nomenclature
23
+ belongs_to :document_file
24
+
25
+ validates :file_type, inclusion: { in: file_types.keys }
26
+ validates :name, :document_file, presence: true
27
+
28
+ scope :nomenclature_id, -> (nomenclature_id) { parent_id_scope("nomenclature", nomenclature_id) }
29
+
30
+ end
31
+
32
+ end
33
+
34
+ def to_s
35
+ name.to_s
36
+ end
37
+
38
+ def file_type=(value)
39
+ super(check_string_for_int(value))
40
+ end
41
+
42
+ end
43
+
44
+ end
@@ -0,0 +1,36 @@
1
+ require 'subj_models/services/types_support'
2
+ require 'subj_models/concerns/shared_scopes'
3
+ require 'subj_models/concerns/comprising_external_id'
4
+
5
+ module SubjModels
6
+
7
+ module NomenclaturePhoto
8
+
9
+ include SubjModels::TypesSupport
10
+
11
+ def self.included(including_class)
12
+
13
+ including_class.class_eval do
14
+
15
+ include SubjModels::SharedScopes
16
+ include SubjModels::ComprisingExternalId
17
+
18
+ belongs_to :nomenclature
19
+ belongs_to :document_file
20
+
21
+ validates :document_file, presence: true
22
+
23
+ scope :nomenclature_id, -> (nomenclature_id) { parent_id_scope("nomenclature", nomenclature_id) }
24
+
25
+
26
+ end
27
+
28
+ end
29
+
30
+ def to_s
31
+ id.to_s # TODO
32
+ end
33
+
34
+ end
35
+
36
+ end
@@ -0,0 +1,32 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+ require 'subj_models/concerns/shared_scopes'
3
+
4
+ module SubjModels
5
+
6
+ module UserSpecializationApproval
7
+
8
+ def self.included(including_class)
9
+
10
+ including_class.class_eval do
11
+
12
+ include SubjModels::ComprisingExternalId
13
+ include SubjModels::SharedScopes
14
+
15
+ belongs_to :document_file
16
+ belongs_to :user
17
+ belongs_to :specialist_activity
18
+ belongs_to :specialist_activity_document_type
19
+
20
+ scope :user_id, -> (user_id) { parent_id_scope("user", user_id) }
21
+
22
+ end
23
+
24
+ end
25
+
26
+ def to_s
27
+ id.to_s # TODO
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -1,3 +1,3 @@
1
1
  module SubjModels
2
- VERSION = "0.3.7"
2
+ VERSION = "0.3.8"
3
3
  end
@@ -0,0 +1,29 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+
3
+ module SubjModels
4
+
5
+ module Video
6
+
7
+ def self.included(including_class)
8
+
9
+ including_class.class_eval do
10
+
11
+ include SubjModels::ComprisingExternalId
12
+
13
+ belongs_to :document_file
14
+ belongs_to :brand
15
+
16
+ scope :brand_id, -> brand { where(brand_id: brand) }
17
+ scope :is_promo, -> condition { where(is_promo: condition) }
18
+
19
+ end
20
+
21
+ end
22
+
23
+ def to_s
24
+ id.to_s
25
+ end
26
+
27
+ end
28
+
29
+ end
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.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denys Dvoriashyn
@@ -66,11 +66,15 @@ files:
66
66
  - lib/subj_models/event_schedule.rb
67
67
  - lib/subj_models/manager.rb
68
68
  - lib/subj_models/measure_unit.rb
69
+ - lib/subj_models/nomenclature_file.rb
70
+ - lib/subj_models/nomenclature_photo.rb
69
71
  - lib/subj_models/services/types_support.rb
70
72
  - lib/subj_models/services/values_checker.rb
71
73
  - lib/subj_models/template.rb
72
74
  - lib/subj_models/user.rb
75
+ - lib/subj_models/user_specialization_approval.rb
73
76
  - lib/subj_models/version.rb
77
+ - lib/subj_models/video.rb
74
78
  - subj_models.gemspec
75
79
  - subj_models.iml
76
80
  homepage: