Sha256: addd4db5bed3d7c7874a477f57b9495c23e43ebe6adea460f70f45193c7ffd78
Contents?: true
Size: 634 Bytes
Versions: 4
Compression:
Stored size: 634 Bytes
Contents
module CloudSesame module Query module DSL module FieldAccessors def self.__define_accessor__(name) define_method(name) { |*values, &block| literal name, *values, &block } end def literal(name, *values, &block) name = name.to_sym if block_given? caller = block.binding.eval "self" options = _scope.context[:fields][name] domain = Domain::Literal.new(name, options, caller) node = domain._eval(&block) values << node end _scope.children.field = name _scope.children._return = _return _scope.children.insert values end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems