class Cassie::Statements::Statement::Assignment
set “username = ?”, value: :username set :favs, term: 'favs + ?', value: “{ 'movie' : 'Cassablanca' }” set :username
Attributes
identifier[R]
value_method[R]
Public Class Methods
new(source, identifier, value_method, opts={})
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 13 def initialize(source, identifier, value_method, opts={}) @source = source @identifier = identifier @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/assignment.rb, line 38 def argument value if argument? end
argument?()
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 34 def argument? positional? end
enabled?()
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 30 def enabled? !!enabled end
positional?()
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 46 def positional? term.to_s.include?("?") end
term()
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 42 def term @term if enabled? end
to_update_cql()
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 50 def to_update_cql "#{identifier} = #{term}" if enabled? end
value()
click to toggle source
# File lib/cassie/statements/statement/assignment.rb, line 25 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/assignment.rb, line 56 def source_eval(value, src=source) case value when Symbol src.send(value) else value end end