module CloudSesame::Query::DSL::LiteralMethods
Public Class Methods
__define_accessor__(name)
click to toggle source
# File lib/cloud_sesame/query/dsl/literal_methods.rb, line 7 def self.__define_accessor__(name) define_method name do |*values, &block| literal name, *values, &block end end
Public Instance Methods
literal(name, *values, &block)
click to toggle source
# File lib/cloud_sesame/query/dsl/literal_methods.rb, line 13 def literal(name, *values, &block) name = name.to_sym values << __literal_block_handler__(name, block) if block_given? _scope.children.field = name _scope.children._return = _return _scope.children.insert values end
Private Instance Methods
__literal_block_handler__(name, block)
click to toggle source
# File lib/cloud_sesame/query/dsl/literal_methods.rb, line 23 def __literal_block_handler__(name, block) caller = block.binding.eval "self" options = _scope.context[:fields][name] Domain::Literal.new(name, options, caller)._eval(&block) end