subj_sub_models 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: