bridge_cache 0.0.19 → 0.0.20

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: 79d80cd046afc64041e1e24b3b5fd763b21866ee
4
- data.tar.gz: 2a91f78fce7c03472383cb94aa8d48daeed6c883
3
+ metadata.gz: 038b997b7f7b33c239afe706f7a425974acab6c6
4
+ data.tar.gz: 27671d50e544574197505abcf3eb9ea4ccb87685
5
5
  SHA512:
6
- metadata.gz: 21d2658e35c754bb4bccbc72c40d447244ccdf2de76d0889048f4fec4bd7579f958355d42e2d3b4bb73bdcd460496f8ae7f281f69ee16a5ddc8cfcadbec501c0
7
- data.tar.gz: 8e471686f3e4ad83e9628c4b2eb1ec401b87e9332c403fc0376c6d501d9fa6e68a5e9444046fd9ded8b6d8cd77d5c478d86d0bffc18ab776535ed77c75081472
6
+ metadata.gz: 000f8aff9cb8993bc35267c59c9a1554aab488557471dd6542436ba07a3994ba7242c22f07cc6f4855347e84e568f475193dcec2a6af9da13282e55f60fbfdb3
7
+ data.tar.gz: 8299e58d788cf6bc7220e2c36058efd0ca4d8ed9e11f18a5f1ccca58762418f5c943db117f1944d1231ac89413f6dafd761ea1e22659097fc5b7d80b87f2364e
@@ -1,5 +1,12 @@
1
1
  module BridgeCache::Data
2
2
  module BridgeModel
3
+
4
+ def self.extended(base)
5
+ base.class_eval do
6
+ scope :in_domain, -> (domain_id) {for_domain(domain_id)}
7
+ end
8
+ end
9
+
3
10
  def import_from_csv(file_path)
4
11
  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
5
12
  end
@@ -29,6 +36,10 @@ module BridgeCache::Data
29
36
  raise "Method not implemented"
30
37
  end
31
38
 
39
+ def for_domain(domain_id)
40
+ where(domain_id: domain_id)
41
+ end
42
+
32
43
  private
33
44
 
34
45
  def create_or_update_from_webhook(message)
@@ -10,5 +10,11 @@ module BridgeCache
10
10
  has_many :affiliated_sub_accounts, primary_key: :bridge_id, class_name: 'BridgeCache::AffiliatedSubAccount', as: :item
11
11
  has_many :domains, through: :affiliated_sub_accounts
12
12
 
13
+ def self.for_domain(domain_id)
14
+ includes(:domains)
15
+ .where('bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_course_templates.domain_id = ?', domain_id, domain_id)
16
+ .references(:domains)
17
+ end
18
+
13
19
  end
14
20
  end
@@ -2,6 +2,10 @@ module BridgeCache
2
2
  class Enrollment < ActiveRecord::Base
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
+ def self.for_domain(domain_id)
6
+ joins(:course_template).merge(BridgeCache::CourseTemplate.for_domain(domain_id))
7
+ end
8
+
5
9
  belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User', optional: true
6
10
  belongs_to :course_template, foreign_key: :course_template_id, primary_key: :bridge_id, class_name: 'BridgeCache::CourseTemplate', optional: true
7
11
 
@@ -8,6 +8,7 @@ module BridgeCache
8
8
  has_many :program_group_enrollments, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramGroupEnrollment'
9
9
  has_many :group_enrollments, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::GroupEnrollment'
10
10
  has_many :memberships, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::Membership'
11
+ belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain', optional: true
11
12
 
12
13
  end
13
14
  end
@@ -2,6 +2,10 @@ module BridgeCache
2
2
  class GroupEnrollment < ApplicationRecord
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
+ def self.for_domain(domain_id)
6
+ joins(:course_template).where(bridge_cache_course_templates: {domain_id: domain_id})
7
+ end
8
+
5
9
  belongs_to :group, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::Group', optional: true
6
10
  belongs_to :course_template, foreign_key: :course_template_id, primary_key: :bridge_id, class_name: 'BridgeCache::CourseTemplate', optional: true
7
11
 
@@ -2,6 +2,10 @@ module BridgeCache
2
2
  class LearnerCustomFieldValue < ApplicationRecord
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
+ def self.for_domain(domain_id)
6
+ joins(:user).where(bridge_cache_users: {domain_id: domain_id})
7
+ end
8
+
5
9
  belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User', optional: true
6
10
  belongs_to :custom_field, foreign_key: :custom_field_id, primary_key: :bridge_id, class_name: 'BridgeCache::CustomField', optional: true
7
11
 
@@ -6,6 +6,14 @@ module BridgeCache
6
6
  belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain', optional: true
7
7
  belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain', optional: true
8
8
  has_many :live_course_enrollments, foreign_key: :live_course_id, primary_key: :bridge_id, class_name: 'BridgeCache::LiveCourseEnrollment'
9
+ has_many :affiliated_sub_accounts, primary_key: :bridge_id, class_name: 'BridgeCache::AffiliatedSubAccount', as: :item
10
+ has_many :domains, through: :affiliated_sub_accounts
11
+
12
+ def self.for_domain(domain_id)
13
+ includes(:domains)
14
+ .where('bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_live_courses.domain_id = ?', domain_id, domain_id)
15
+ .references(:domains)
16
+ end
9
17
 
10
18
  end
11
19
  end
@@ -2,6 +2,10 @@ module BridgeCache
2
2
  class LiveCourseEnrollment < ActiveRecord::Base
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
+ def self.for_domain(domain_id)
6
+ joins(:live_course).merge(BridgeCache::LiveCourse.for_domain(domain_id))
7
+ end
8
+
5
9
  belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User', optional: true
6
10
  belongs_to :live_course, foreign_key: :live_course_id, primary_key: :bridge_id, class_name: 'BridgeCache::LiveCourse', optional: true
7
11
  has_many :live_course_session_registrations, foreign_key: :live_course_enrollment_id, primary_key: :bridge_id, class_name: 'BridgeCache::LiveCourseSessionRegistration'
@@ -2,6 +2,10 @@ module BridgeCache
2
2
  class LiveCourseSession < ActiveRecord::Base
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
+ def self.for_domain(domain_id)
6
+ joins(:live_course).merge(BridgeCache::LiveCourse.for_domain(domain_id))
7
+ end
8
+
5
9
  belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain', optional: true
6
10
  belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain', optional: true
7
11
  belongs_to :live_course, foreign_key: :live_course_id, primary_key: :bridge_id, class_name: 'BridgeCache::LiveCourse', optional: true
@@ -2,6 +2,10 @@ module BridgeCache
2
2
  class LiveCourseSessionRegistration < ActiveRecord::Base
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
+ def self.for_domain(domain_id)
6
+ joins(:live_course_enrollment).merge(BridgeCache::LiveCourseEnrollment.for_domain(domain_id))
7
+ end
8
+
5
9
  belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User', optional: true
6
10
  belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain', optional: true
7
11
  belongs_to :live_course_enrollment, primary_key: :bridge_id, class_name: 'BridgeCache::LiveCourseEnrollment', optional: true
@@ -5,5 +5,9 @@ module BridgeCache
5
5
  belongs_to :group, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::Group', optional: true
6
6
  belongs_to :user, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::User', optional: true
7
7
 
8
+ def self.for_domain(domain_id)
9
+ joins(:group).where(bridge_cache_groups: {domain_id: domain_id})
10
+ end
11
+
8
12
  end
9
13
  end
@@ -7,6 +7,14 @@ module BridgeCache
7
7
  has_many :program_items, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramItem'
8
8
  has_many :program_enrollments, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramEnrollment'
9
9
  has_many :program_group_enrollments, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramGroupEnrollment'
10
+ has_many :affiliated_sub_accounts, primary_key: :bridge_id, class_name: 'BridgeCache::AffiliatedSubAccount', as: :item
11
+ has_many :domains, through: :affiliated_sub_accounts
12
+
13
+ def self.for_domain(domain_id)
14
+ includes(:domains)
15
+ .where('bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_programs.domain_id = ?', domain_id, domain_id)
16
+ .references(:domains)
17
+ end
10
18
 
11
19
  end
12
20
  end
@@ -5,5 +5,9 @@ module BridgeCache
5
5
  belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User', optional: true
6
6
  belongs_to :program, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::Program', optional: true
7
7
 
8
+ def self.for_domain(domain_id)
9
+ joins(:program).merge(BridgeCache::Program.for_domain(domain_id))
10
+ end
11
+
8
12
  end
9
13
  end
@@ -4,5 +4,9 @@ module BridgeCache
4
4
 
5
5
  belongs_to :program, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::Program', optional: true
6
6
 
7
+ def self.for_domain(domain_id)
8
+ joins(:program).merge(BridgeCache::Program.for_domain(domain_id))
9
+ end
10
+
7
11
  end
8
12
  end
@@ -1,3 +1,3 @@
1
1
  module BridgeCache
2
- VERSION = "0.0.19"
2
+ VERSION = "0.0.20"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridge_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - jshaffer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-27 00:00:00.000000000 Z
11
+ date: 2017-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails