Module: QueryInterface::Server::Transformations
- Defined in:
- lib/query-interface-server/transformations.rb,
lib/query-interface-server/transformations/sequel_transformer.rb
Defined Under Namespace
Modules: ClassMethods Classes: SequelTransformer, TransformationScope
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/query-interface-server/transformations.rb', line 5 def self.included(base) base.extend(ClassMethods) base.dataset_module do def query_transformation(type, name, *args) block = model.instance_variable_get(:@query_transformations)[type][name] if block self.instance_exec(*args, &block) elsif type == :order and args.count == 1 self.order_append(Sequel.send(args[0], name.to_sym)) else raise "No #{type} implementation for #{name}" end end end base.instance_variable_set(:@query_transformations, { exclude: {}, filter: {}, with: {}, order: {}, update: {}, }) end |