class Cassie::Statements::Statement::Relation
relation :username, :eq relation :username, :eq, value: :method relation :phone, :in relation :user_id, :gteq, term: “minTimeuuid('2013-02-02 10:00+0000')”
Constants
Attributes
enabled[R]
identifier[R]
operation[R]
source[R]
term[R]
value_method[R]
Public Class Methods
new(source, identifier, op_type, value_method, opts={})
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 30 def initialize(source, identifier, op_type, value_method, opts={}) @source = source @identifier = identifier @operation = OPERATIONS[op_type.to_sym] @value_method = value_method @enabled = opts.has_key?(:if) ? source_eval(opts[:if]) : true @term = opts.has_key?(:term) ? source_eval(opts[:term]) : "?" end
Public Instance Methods
argument()
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 52 def argument value if argument? end
argument?()
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 43 def argument? enabled? && positional? end
enabled?()
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 39 def enabled? !!enabled end
positional?()
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 56 def positional? term.to_s.include?("?") end
to_cql()
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 60 def to_cql return nil unless enabled? "#{identifier} #{operation} #{term}" end
value()
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 47 def value return(@value) if defined?(@value) @value = source.send(value_method) end
Private Instance Methods
source_eval(value, src=source)
click to toggle source
# File lib/cassie/statements/statement/relation.rb, line 67 def source_eval(value, src=source) case value when Symbol src.send(value) else value end end