Module: Datasource::Adapters::Sequel::Model::ClassMethods
- Defined in:
- lib/datasource/adapters/sequel.rb
Instance Method Summary collapse
- #datasource_module(&block) ⇒ Object
- #default_datasource ⇒ Object
- #upgrade_for_serializer(records, serializer_class = nil, datasource_class = nil) ⇒ Object
Instance Method Details
#datasource_module(&block) ⇒ Object
103 104 105 |
# File 'lib/datasource/adapters/sequel.rb', line 103 def datasource_module(&block) default_datasource.instance_exec(&block) end |
#default_datasource ⇒ Object
99 100 101 |
# File 'lib/datasource/adapters/sequel.rb', line 99 def default_datasource @default_datasource ||= Datasource::From(self) end |
#upgrade_for_serializer(records, serializer_class = nil, datasource_class = nil) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/datasource/adapters/sequel.rb', line 107 def upgrade_for_serializer(records, serializer_class = nil, datasource_class = nil) # must use filter to get a new scope scope = filter.with_datasource(datasource_class).for_serializer(serializer_class) records = Array(records) binding.pry if scope.datasource_get(:datasource_class).nil? pk = scope.datasource_get(:datasource_class).primary_key.to_sym if primary_keys = records.map(&pk) scope = scope.where(pk => primary_keys.compact) end scope = yield(scope) if block_given? datasource = scope.get_datasource if datasource.can_upgrade?(records) datasource.upgrade_records(records) else scope.all end end |