bridge_cache 0.0.19 → 0.0.20

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.
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