subj_sub_models 0.0.0 → 0.0.1

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.idea/modules.xml +1 -1
  4. data/.idea/workspace.xml +5 -5
  5. data/Gemfile +1 -1
  6. data/README.md +3 -3
  7. data/bin/console +1 -1
  8. data/lib/subj_models/access_group.rb +22 -0
  9. data/lib/subj_models/action_banner.rb +37 -0
  10. data/lib/subj_models/attribute_value.rb +32 -0
  11. data/lib/subj_models/brand.rb +74 -0
  12. data/lib/subj_models/brand_line.rb +51 -0
  13. data/lib/subj_models/category.rb +36 -0
  14. data/lib/subj_models/city.rb +31 -0
  15. data/lib/subj_models/concerns/comprising_external_id.rb +37 -0
  16. data/lib/subj_models/concerns/shared_scopes.rb +15 -0
  17. data/lib/subj_models/content_block.rb +28 -0
  18. data/lib/subj_models/document_file.rb +38 -0
  19. data/lib/subj_models/event.rb +79 -0
  20. data/lib/subj_models/event_booking.rb +39 -0
  21. data/lib/subj_models/event_schedule.rb +37 -0
  22. data/lib/subj_models/event_type.rb +27 -0
  23. data/lib/subj_models/faq.rb +46 -0
  24. data/lib/subj_models/global_notification.rb +16 -0
  25. data/lib/subj_models/manager.rb +31 -0
  26. data/lib/subj_models/measure_unit.rb +28 -0
  27. data/lib/subj_models/nomenclature.rb +166 -0
  28. data/lib/subj_models/nomenclature_access_group.rb +19 -0
  29. data/lib/subj_models/nomenclature_attribute.rb +27 -0
  30. data/lib/subj_models/nomenclature_file.rb +44 -0
  31. data/lib/subj_models/nomenclature_photo.rb +36 -0
  32. data/lib/subj_models/nomenclature_price.rb +39 -0
  33. data/lib/subj_models/nomenclature_review.rb +38 -0
  34. data/lib/subj_models/nomenclature_variety.rb +29 -0
  35. data/lib/subj_models/office.rb +40 -0
  36. data/lib/subj_models/office_contact.rb +41 -0
  37. data/lib/subj_models/order.rb +91 -0
  38. data/lib/subj_models/order_delivery_courier.rb +31 -0
  39. data/lib/subj_models/order_delivery_nova_poshta_warhouse.rb +20 -0
  40. data/lib/subj_models/order_delivery_pickup.rb +28 -0
  41. data/lib/subj_models/order_delivery_privatbank.rb +29 -0
  42. data/lib/subj_models/order_delivery_subj_courier.rb +25 -0
  43. data/lib/subj_models/order_item.rb +60 -0
  44. data/lib/subj_models/quality.rb +25 -0
  45. data/lib/subj_models/services/types_support.rb +122 -0
  46. data/lib/subj_models/services/values_checker.rb +11 -0
  47. data/lib/subj_models/specialist_activity.rb +33 -0
  48. data/lib/subj_models/specialist_activity_document_type.rb +29 -0
  49. data/lib/subj_models/template.rb +18 -0
  50. data/lib/subj_models/user.rb +131 -0
  51. data/lib/subj_models/user_card.rb +29 -0
  52. data/lib/subj_models/user_card_delivery.rb +29 -0
  53. data/lib/subj_models/user_delivery_address.rb +34 -0
  54. data/lib/subj_models/user_specialization.rb +38 -0
  55. data/lib/subj_models/user_specialization_approval.rb +33 -0
  56. data/lib/subj_models/user_work_place.rb +29 -0
  57. data/lib/subj_models/version.rb +3 -0
  58. data/lib/subj_models/video.rb +29 -0
  59. data/lib/subj_models.rb +49 -0
  60. data/subj_models.gemspec +33 -0
  61. data/subj_models.iml +9 -0
  62. metadata +56 -2
@@ -0,0 +1,29 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+
3
+ module SubjModels
4
+
5
+ module UserCardModule
6
+
7
+ def self.included(including_class)
8
+
9
+ including_class.class_eval do
10
+
11
+ include SubjModels::ComprisingExternalId
12
+
13
+ belongs_to :user
14
+
15
+ validates :first_digits, :last_digits, :expire_number, :expire_year, presence: true
16
+
17
+ scope :user_id, -> (user_id) { parent_id_scope("user", user_id) }
18
+
19
+ end
20
+
21
+ end
22
+
23
+ def to_s
24
+ id.to_s # TODO
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+ module SubjModels
3
+
4
+ module UserCardDeliveryModule
5
+
6
+ include SubjModels::TypesSupport::CardReceiveTypes
7
+
8
+ def self.included(including_class)
9
+
10
+
11
+ including_class.class_eval do
12
+
13
+ include SubjModels::ComprisingExternalId
14
+
15
+ belongs_to :user
16
+
17
+ scope :user_id, -> (user_id) { where(user_id: user_id) }
18
+
19
+
20
+ def delivery_type_value
21
+ self[:delivery_type]
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,34 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+
3
+ module SubjModels
4
+
5
+ module UserDeliveryAddressModule
6
+
7
+ def self.included(including_class)
8
+
9
+ including_class.class_eval do
10
+
11
+ include SubjModels::ComprisingExternalId
12
+
13
+ belongs_to :user
14
+ belongs_to :city
15
+
16
+ has_many :orders
17
+
18
+ validates :street_name, :house_number, :city, presence: true, unless: :skip_validations
19
+
20
+ attr_accessor :skip_validations
21
+
22
+ scope :user_id, -> (user_id) { where(user_id: user_id) }
23
+
24
+ end
25
+
26
+ def to_s
27
+ id.to_s # TODO
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,38 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+
3
+ module SubjModels
4
+
5
+ module UserSpecializationModule
6
+
7
+ def self.included(including_class)
8
+
9
+ including_class.class_eval do
10
+
11
+ include SubjModels::ComprisingExternalId
12
+
13
+ has_and_belongs_to_many :users
14
+ has_and_belongs_to_many :access_groups
15
+ has_and_belongs_to_many :events
16
+
17
+ has_many :specialist_activity_document_types, dependent: :destroy
18
+ has_many :user_specialization_approvals, dependent: :destroy
19
+ has_many :nomenclatures
20
+
21
+ validates :name, presence: true
22
+
23
+
24
+ scope :user_id, -> (user_id) { parent_id_scope("user", user_id) }
25
+
26
+ scope :unavailable_for_current_user, -> ids { where.not(id: ids) }
27
+
28
+ end
29
+
30
+ def to_s
31
+ name.to_s
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -0,0 +1,33 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+ require 'subj_models/concerns/shared_scopes'
3
+
4
+ module SubjModels
5
+
6
+ module UserSpecializationApprovalModule
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 :user_specialization
18
+ belongs_to :specialist_activity_document_type
19
+
20
+ scope :user_id, -> (user_id) { where(user_id: user_id) }
21
+ scope :only_success, -> {where.not(user_specialization_id: nil)}
22
+
23
+ end
24
+
25
+ end
26
+
27
+ def to_s
28
+ id.to_s # TODO
29
+ end
30
+
31
+ end
32
+
33
+ end
@@ -0,0 +1,29 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+
3
+ module SubjModels
4
+
5
+ module UserWorkPlaceModule
6
+
7
+ def self.included(including_class)
8
+
9
+ including_class.class_eval do
10
+
11
+ include SubjModels::ComprisingExternalId
12
+
13
+ belongs_to :user
14
+
15
+ validates :work_place_name, presence: true
16
+
17
+ scope :user_id, -> (user_id) { parent_id_scope("user", user_id) }
18
+
19
+ end
20
+
21
+ end
22
+
23
+ def to_s
24
+ work_place_name
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,3 @@
1
+ module SubjModels
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,29 @@
1
+ require 'subj_models/concerns/comprising_external_id'
2
+
3
+ module SubjModels
4
+
5
+ module VideoModule
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
+ "#{title1} #{title2}#{' - ПРОМО' if is_promo}"
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,49 @@
1
+ require "subj_models/version"
2
+ require 'subj_models/measure_unit'
3
+ require 'subj_models/user'
4
+ require 'subj_models/document_file'
5
+ require 'subj_models/manager'
6
+ require 'subj_models/event_schedule'
7
+ require 'subj_models/event'
8
+ require 'subj_models/event_booking'
9
+ require 'subj_models/brand_line'
10
+ require 'subj_models/brand'
11
+ require 'subj_models/user_specialization_approval'
12
+ require 'subj_models/video'
13
+ require 'subj_models/nomenclature_file'
14
+ require 'subj_models/nomenclature_photo'
15
+ require 'subj_models/nomenclature'
16
+ require 'subj_models/content_block'
17
+ require 'subj_models/city'
18
+ require 'subj_models/office'
19
+ require 'subj_models/order_item'
20
+ require 'subj_models/attribute_value'
21
+ require 'subj_models/nomenclature_price'
22
+ require 'subj_models/order'
23
+ require 'subj_models/user_card'
24
+ require 'subj_models/user_card_delivery'
25
+ require 'subj_models/user_work_place'
26
+ require 'subj_models/user_delivery_address'
27
+ require 'subj_models/user_specialization'
28
+ require 'subj_models/nomenclature_variety'
29
+ require 'subj_models/access_group'
30
+ require 'subj_models/specialist_activity'
31
+ require 'subj_models/specialist_activity_document_type'
32
+ require 'subj_models/nomenclature_attribute'
33
+ require 'subj_models/category'
34
+ require 'subj_models/nomenclature_review'
35
+ require 'subj_models/action_banner'
36
+ require 'subj_models/event_type'
37
+ require 'subj_models/office_contact'
38
+ require 'subj_models/order_delivery_courier'
39
+ require 'subj_models/order_delivery_nova_poshta_warhouse'
40
+ require 'subj_models/order_delivery_pickup'
41
+ require 'subj_models/order_delivery_privatbank'
42
+ require 'subj_models/order_delivery_subj_courier'
43
+ require 'subj_models/quality'
44
+ require 'subj_models/nomenclature_access_group'
45
+ require 'subj_models/faq'
46
+ require 'subj_models/global_notification'
47
+ module SubjModels
48
+
49
+ end
@@ -0,0 +1,33 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'subj_models/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "subj_sub_models"
8
+ spec.version = SubjModels::VERSION
9
+ spec.authors = ["A.Nasa"]
10
+ spec.email = ["andriy.nasa@gmail.com"]
11
+
12
+ spec.summary = %q{Move models from some project to gem.}
13
+ spec.description = %q{}
14
+
15
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
16
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
17
+ if spec.respond_to?(:metadata)
18
+ spec.metadata['allowed_push_host'] = "https://rubygems.org"
19
+ else
20
+ raise "RubyGems 2.0 or newer is required to protect against " \
21
+ "public gem pushes."
22
+ end
23
+
24
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
25
+ f.match(%r{^(test|spec|features)/})
26
+ end
27
+ spec.bindir = "exe"
28
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ spec.require_paths = ["lib"]
30
+
31
+ spec.add_development_dependency "bundler", "~> 1.13"
32
+ spec.add_development_dependency "rake", "~> 10.0"
33
+ end
data/subj_models.iml ADDED
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="jdk" jdkName="ruby-2.0.0-p648" jdkType="RUBY_SDK" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subj_sub_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - Andriy Nasa
7
+ - A.Nasa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
@@ -56,6 +56,60 @@ files:
56
56
  - Rakefile
57
57
  - bin/console
58
58
  - bin/setup
59
+ - lib/subj_models.rb
60
+ - lib/subj_models/access_group.rb
61
+ - lib/subj_models/action_banner.rb
62
+ - lib/subj_models/attribute_value.rb
63
+ - lib/subj_models/brand.rb
64
+ - lib/subj_models/brand_line.rb
65
+ - lib/subj_models/category.rb
66
+ - lib/subj_models/city.rb
67
+ - lib/subj_models/concerns/comprising_external_id.rb
68
+ - lib/subj_models/concerns/shared_scopes.rb
69
+ - lib/subj_models/content_block.rb
70
+ - lib/subj_models/document_file.rb
71
+ - lib/subj_models/event.rb
72
+ - lib/subj_models/event_booking.rb
73
+ - lib/subj_models/event_schedule.rb
74
+ - lib/subj_models/event_type.rb
75
+ - lib/subj_models/faq.rb
76
+ - lib/subj_models/global_notification.rb
77
+ - lib/subj_models/manager.rb
78
+ - lib/subj_models/measure_unit.rb
79
+ - lib/subj_models/nomenclature.rb
80
+ - lib/subj_models/nomenclature_access_group.rb
81
+ - lib/subj_models/nomenclature_attribute.rb
82
+ - lib/subj_models/nomenclature_file.rb
83
+ - lib/subj_models/nomenclature_photo.rb
84
+ - lib/subj_models/nomenclature_price.rb
85
+ - lib/subj_models/nomenclature_review.rb
86
+ - lib/subj_models/nomenclature_variety.rb
87
+ - lib/subj_models/office.rb
88
+ - lib/subj_models/office_contact.rb
89
+ - lib/subj_models/order.rb
90
+ - lib/subj_models/order_delivery_courier.rb
91
+ - lib/subj_models/order_delivery_nova_poshta_warhouse.rb
92
+ - lib/subj_models/order_delivery_pickup.rb
93
+ - lib/subj_models/order_delivery_privatbank.rb
94
+ - lib/subj_models/order_delivery_subj_courier.rb
95
+ - lib/subj_models/order_item.rb
96
+ - lib/subj_models/quality.rb
97
+ - lib/subj_models/services/types_support.rb
98
+ - lib/subj_models/services/values_checker.rb
99
+ - lib/subj_models/specialist_activity.rb
100
+ - lib/subj_models/specialist_activity_document_type.rb
101
+ - lib/subj_models/template.rb
102
+ - lib/subj_models/user.rb
103
+ - lib/subj_models/user_card.rb
104
+ - lib/subj_models/user_card_delivery.rb
105
+ - lib/subj_models/user_delivery_address.rb
106
+ - lib/subj_models/user_specialization.rb
107
+ - lib/subj_models/user_specialization_approval.rb
108
+ - lib/subj_models/user_work_place.rb
109
+ - lib/subj_models/version.rb
110
+ - lib/subj_models/video.rb
111
+ - subj_models.gemspec
112
+ - subj_models.iml
59
113
  homepage:
60
114
  licenses: []
61
115
  metadata: