module Datasource::Adapters::Sequel::ScopeExtensions
Public Class Methods
extended(mod)
click to toggle source
# File lib/datasource/adapters/sequel.rb, line 7 def self.extended(mod) mod.instance_exec do @datasource_info ||= { select: [], params: [] } end end
Public Instance Methods
datasource_get(key)
click to toggle source
# File lib/datasource/adapters/sequel.rb, line 13 def datasource_get(key) @datasource_info[key] end
datasource_params(*args)
click to toggle source
# File lib/datasource/adapters/sequel.rb, line 27 def datasource_params(*args) @datasource_info[:params] += args self end
datasource_select(*args)
click to toggle source
# File lib/datasource/adapters/sequel.rb, line 22 def datasource_select(*args) @datasource_info[:select] += args self end
datasource_set(hash)
click to toggle source
# File lib/datasource/adapters/sequel.rb, line 17 def datasource_set(hash) @datasource_info.merge!(hash) self end
each(&block)
click to toggle source
Calls superclass method
# File lib/datasource/adapters/sequel.rb, line 46 def each(&block) if @datasource_info[:datasource_class] datasource = get_datasource datasource.results.each(&block) else super end end
get_datasource()
click to toggle source
# File lib/datasource/adapters/sequel.rb, line 32 def get_datasource klass = @datasource_info[:datasource_class] datasource = klass.new(self) datasource.select(*Array(@datasource_info[:select])) datasource.params(*@datasource_info[:params]) if @datasource_info[:serializer_class] select = [] @datasource_info[:serializer_class].datasource_adapter.to_datasource_select(select, klass.orm_klass, @datasource_info[:serializer_class], nil, datasource.adapter, datasource) datasource.select(*select) end datasource end