bridge_cache 0.0.4 → 0.0.5
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 +4 -4
- data/app/models/bridge_cache/course_template.rb +1 -4
- data/app/models/bridge_cache/custom_field.rb +1 -4
- data/app/models/bridge_cache/domain.rb +1 -4
- data/app/models/bridge_cache/enrollment.rb +1 -4
- data/app/models/bridge_cache/grant.rb +1 -4
- data/app/models/bridge_cache/group.rb +2 -4
- data/app/models/bridge_cache/program.rb +1 -4
- data/app/models/bridge_cache/program_enrollment.rb +1 -4
- data/app/models/bridge_cache/program_group_enrollment.rb +1 -4
- data/app/models/bridge_cache/program_item.rb +1 -4
- data/app/models/bridge_cache/tag.rb +1 -4
- data/app/models/bridge_cache/tagging.rb +2 -4
- data/app/models/bridge_cache/user.rb +1 -4
- data/lib/bridge_cache/data/bridge_model.rb +11 -0
- data/lib/bridge_cache/plugins/csv_dump.rb +17 -3
- data/lib/bridge_cache/version.rb +1 -1
- metadata +16 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 07fea4f39114b3ebd89681fc161b102aa38084e8
         | 
| 4 | 
            +
              data.tar.gz: 7470148ae9f315a9d8934ac876a5cc4fe9e51b14
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ac00747411dd23c9ca6393957f932f69e991e99458550c1b83360732ec5a20d3150d932a75d3fe787d28de0f39d00be3ae408bc90888292fc6e26dc50f41312a
         | 
| 7 | 
            +
              data.tar.gz: 04c3008fe94fb312df966f72c28bc539d43a84854cd81b5f756e89b2fc0cedfdec000227ebe9d8e6beea5d507c24b959de0db7b1eaca2fa1896e748140e50704
         | 
| @@ -1,14 +1,11 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class CourseTemplate < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User'
         | 
| 5 6 | 
             
                belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| 6 7 | 
             
                belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| 7 8 | 
             
                has_many :enrollments, foreign_key: :course_template_id, primary_key: :bridge_id, class_name: 'BridgeCache::Enrollment'
         | 
| 8 9 |  | 
| 9 | 
            -
                def self.import_from_csv(file_path)
         | 
| 10 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 11 | 
            -
                end
         | 
| 12 | 
            -
             | 
| 13 10 | 
             
              end
         | 
| 14 11 | 
             
            end
         | 
| @@ -1,11 +1,8 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class CustomField < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| 5 6 |  | 
| 6 | 
            -
                def self.import_from_csv(file_path)
         | 
| 7 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 8 | 
            -
                end
         | 
| 9 | 
            -
             | 
| 10 7 | 
             
              end
         | 
| 11 8 | 
             
            end
         | 
| @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Domain < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                has_many :domain_children, primary_key: 'bridge_id', foreign_key: 'parent_id', class_name: 'BridgeCache::Domain'
         | 
| 5 6 | 
             
                belongs_to :domain_parent, primary_key: 'bridge_id', foreign_key: 'parent_id', class_name: 'BridgeCache::Domain'
         | 
| @@ -14,9 +15,5 @@ module BridgeCache | |
| 14 15 |  | 
| 15 16 | 
             
                serialize :config
         | 
| 16 17 |  | 
| 17 | 
            -
                def self.import_from_csv(file_path)
         | 
| 18 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
             | 
| 21 18 | 
             
              end
         | 
| 22 19 | 
             
            end
         | 
| @@ -1,12 +1,9 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Enrollment < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User'
         | 
| 5 6 | 
             
                belongs_to :course_template, foreign_key: :course_template_id, primary_key: :bridge_id, class_name: 'BridgeCache::CourseTemplate'
         | 
| 6 7 |  | 
| 7 | 
            -
                def self.import_from_csv(file_path)
         | 
| 8 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
             | 
| 11 8 | 
             
              end
         | 
| 12 9 | 
             
            end
         | 
| @@ -1,12 +1,9 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Grant < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User'
         | 
| 5 6 | 
             
                belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| 6 7 |  | 
| 7 | 
            -
                def self.import_from_csv(file_path)
         | 
| 8 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
             | 
| 11 8 | 
             
              end
         | 
| 12 9 | 
             
            end
         | 
| @@ -1,13 +1,11 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Group < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
                self.inheritance_column = nil
         | 
| 4 6 |  | 
| 5 7 | 
             
                belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User'
         | 
| 6 8 | 
             
                has_many :program_group_enrollments, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramGroupEnrollment'
         | 
| 7 9 |  | 
| 8 | 
            -
                def self.import_from_csv(file_path)
         | 
| 9 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 10 | 
            -
                end
         | 
| 11 | 
            -
             | 
| 12 10 | 
             
              end
         | 
| 13 11 | 
             
            end
         | 
| @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Program < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| 5 6 | 
             
                belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| @@ -7,9 +8,5 @@ module BridgeCache | |
| 7 8 | 
             
                has_many :program_enrollments, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramEnrollment'
         | 
| 8 9 | 
             
                has_many :program_group_enrollments, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::ProgramGroupEnrollment'
         | 
| 9 10 |  | 
| 10 | 
            -
                def self.import_from_csv(file_path)
         | 
| 11 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 12 | 
            -
                end
         | 
| 13 | 
            -
             | 
| 14 11 | 
             
              end
         | 
| 15 12 | 
             
            end
         | 
| @@ -1,12 +1,9 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class ProgramEnrollment < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :user, foreign_key: :user_id, primary_key: :bridge_id, class_name: 'BridgeCache::User'
         | 
| 5 6 | 
             
                belongs_to :program, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::Program'
         | 
| 6 7 |  | 
| 7 | 
            -
                def self.import_from_csv(file_path)
         | 
| 8 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
             | 
| 11 8 | 
             
              end
         | 
| 12 9 | 
             
            end
         | 
| @@ -1,12 +1,9 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class ProgramGroupEnrollment < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :group, foreign_key: :group_id, primary_key: :bridge_id, class_name: 'BridgeCache::Group'
         | 
| 5 6 | 
             
                belongs_to :program, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::Program'
         | 
| 6 7 |  | 
| 7 | 
            -
                def self.import_from_csv(file_path)
         | 
| 8 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
             | 
| 11 8 | 
             
              end
         | 
| 12 9 | 
             
            end
         | 
| @@ -1,11 +1,8 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class ProgramItem < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :program, foreign_key: :program_id, primary_key: :bridge_id, class_name: 'BridgeCache::Program'
         | 
| 5 6 |  | 
| 6 | 
            -
                def self.import_from_csv(file_path)
         | 
| 7 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 8 | 
            -
                end
         | 
| 9 | 
            -
             | 
| 10 7 | 
             
              end
         | 
| 11 8 | 
             
            end
         | 
| @@ -1,11 +1,8 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Tag < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                has_many :taggings, foreign_key: :tag_id, primary_key: :bridge_id, class_name: 'BridgeCache::Tagging'
         | 
| 5 6 |  | 
| 6 | 
            -
                def self.import_from_csv(file_path)
         | 
| 7 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 8 | 
            -
                end
         | 
| 9 | 
            -
             | 
| 10 7 | 
             
              end
         | 
| 11 8 | 
             
            end
         | 
| @@ -1,11 +1,9 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class Tagging < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
                belongs_to :tag, foreign_key: :tag_id, primary_key: :bridge_id, class_name: 'BridgeCache::Tag'
         | 
| 4 6 | 
             
                belongs_to :user, foreign_key: :tagger_id, primary_key: :bridge_id, class_name: 'BridgeCache::User'
         | 
| 5 7 |  | 
| 6 | 
            -
                def self.import_from_csv(file_path)
         | 
| 7 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 8 | 
            -
                end
         | 
| 9 | 
            -
             | 
| 10 8 | 
             
              end
         | 
| 11 9 | 
             
            end
         | 
| @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            module BridgeCache
         | 
| 2 2 | 
             
              class User < ActiveRecord::Base
         | 
| 3 | 
            +
                extend BridgeCache::Data::BridgeModel
         | 
| 3 4 |  | 
| 4 5 | 
             
                belongs_to :domain, foreign_key: :domain_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| 5 6 | 
             
                belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: :bridge_id, class_name: 'BridgeCache::Domain'
         | 
| @@ -12,9 +13,5 @@ module BridgeCache | |
| 12 13 |  | 
| 13 14 | 
             
                serialize :config
         | 
| 14 15 |  | 
| 15 | 
            -
                def self.import_from_csv(file_path)
         | 
| 16 | 
            -
                  BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path)
         | 
| 17 | 
            -
                end
         | 
| 18 | 
            -
             | 
| 19 16 | 
             
              end
         | 
| 20 17 | 
             
            end
         | 
| @@ -13,9 +13,8 @@ module BridgeCache::Plugins | |
| 13 13 | 
             
                    total += 1
         | 
| 14 14 | 
             
                  end
         | 
| 15 15 | 
             
                  CSV.foreach(file_path, headers: true) do |row|
         | 
| 16 | 
            -
                    row = self.remove_bad_columns(clazz, row)
         | 
| 17 16 | 
             
                    if count < MAX_ROW_INTERVAL
         | 
| 18 | 
            -
                      rows << clazz | 
| 17 | 
            +
                      rows << initialze_row(clazz, row)
         | 
| 19 18 | 
             
                    end
         | 
| 20 19 | 
             
                    if count % MAX_ROW_INTERVAL == 0 || count == total
         | 
| 21 20 | 
             
                      dump_rows(clazz, rows)
         | 
| @@ -26,8 +25,23 @@ module BridgeCache::Plugins | |
| 26 25 | 
             
                  end
         | 
| 27 26 | 
             
                end
         | 
| 28 27 |  | 
| 28 | 
            +
                def self.dump_row(clazz, row)
         | 
| 29 | 
            +
                  instance = initialze_row(clazz, row)
         | 
| 30 | 
            +
                  dump_rows([instance])
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                private
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                def self.initialze_row(clazz, row)
         | 
| 36 | 
            +
                  instance = clazz.find_or_create_by(bridge_id: row['id'])
         | 
| 37 | 
            +
                  instance.assign_attributes(remove_bad_columns(clazz, BridgeCache::Plugins::DataTransform::set_bridge_id(row).to_h))
         | 
| 38 | 
            +
                  instance
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
             | 
| 29 41 | 
             
                def self.dump_rows(clazz, rows)
         | 
| 30 | 
            -
                  rows.each  | 
| 42 | 
            +
                  rows.each do |row|
         | 
| 43 | 
            +
                    row.save! if row.changed?
         | 
| 44 | 
            +
                  end
         | 
| 31 45 | 
             
                end
         | 
| 32 46 |  | 
| 33 47 | 
             
                def self.remove_bad_columns(clazz, row)
         | 
    
        data/lib/bridge_cache/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: bridge_cache
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - jshaffer
         | 
| @@ -136,6 +136,20 @@ dependencies: | |
| 136 136 | 
             
                - - ">="
         | 
| 137 137 | 
             
                  - !ruby/object:Gem::Version
         | 
| 138 138 | 
             
                    version: '0'
         | 
| 139 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 140 | 
            +
              name: pg
         | 
| 141 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 142 | 
            +
                requirements:
         | 
| 143 | 
            +
                - - ">="
         | 
| 144 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 145 | 
            +
                    version: '0'
         | 
| 146 | 
            +
              type: :development
         | 
| 147 | 
            +
              prerelease: false
         | 
| 148 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 149 | 
            +
                requirements:
         | 
| 150 | 
            +
                - - ">="
         | 
| 151 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 152 | 
            +
                    version: '0'
         | 
| 139 153 | 
             
            description: A mountable engine for bridge data storage
         | 
| 140 154 | 
             
            email:
         | 
| 141 155 | 
             
            - jshaffer@instructure.com
         | 
| @@ -179,6 +193,7 @@ files: | |
| 179 193 | 
             
            - db/migrate/20170518211754_create_bridge_cache_taggings.rb
         | 
| 180 194 | 
             
            - db/migrate/20170518211817_create_bridge_cache_course_templates.rb
         | 
| 181 195 | 
             
            - lib/bridge_cache.rb
         | 
| 196 | 
            +
            - lib/bridge_cache/data/bridge_model.rb
         | 
| 182 197 | 
             
            - lib/bridge_cache/engine.rb
         | 
| 183 198 | 
             
            - lib/bridge_cache/plugins/csv_dump.rb
         | 
| 184 199 | 
             
            - lib/bridge_cache/plugins/data_transform.rb
         |