Class: Cassie::Statements::Statement::Assignment
- Defined in:
- lib/cassie/statements/statement/assignment.rb
Overview
set “username = ?”, value: :username
set :favs, term: 'favs + ?', value: "{ 'movie' : 'Cassablanca' }"
set :username
Instance Attribute Summary collapse
- #enabled ⇒ Object readonly
- #identifier ⇒ Object readonly
- #source ⇒ Object readonly
- #value_method ⇒ Object readonly
Instance Method Summary collapse
- #argument ⇒ Object
- #argument? ⇒ Boolean
- #enabled? ⇒ Boolean
-
#initialize(source, identifier, value_method, opts = {}) ⇒ Assignment
constructor
A new instance of Assignment.
- #positional? ⇒ Boolean
- #term ⇒ Object
- #to_update_cql ⇒ Object
- #value ⇒ Object
Constructor Details
permalink #initialize(source, identifier, value_method, opts = {}) ⇒ Assignment
Returns a new instance of Assignment.
13 14 15 16 17 18 19 |
# 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 |
Instance Attribute Details
permalink #enabled ⇒ Object (readonly)
8 9 10 |
# File 'lib/cassie/statements/statement/assignment.rb', line 8 def enabled @enabled end |
permalink #identifier ⇒ Object (readonly)
8 9 10 |
# File 'lib/cassie/statements/statement/assignment.rb', line 8 def identifier @identifier end |
permalink #source ⇒ Object (readonly)
8 9 10 |
# File 'lib/cassie/statements/statement/assignment.rb', line 8 def source @source end |
Instance Method Details
permalink #argument ⇒ Object
[View source]
38 39 40 |
# File 'lib/cassie/statements/statement/assignment.rb', line 38 def argument value if argument? end |
permalink #argument? ⇒ Boolean
34 35 36 |
# File 'lib/cassie/statements/statement/assignment.rb', line 34 def argument? positional? end |
permalink #enabled? ⇒ Boolean
30 31 32 |
# File 'lib/cassie/statements/statement/assignment.rb', line 30 def enabled? !!enabled end |
permalink #positional? ⇒ Boolean
46 47 48 |
# File 'lib/cassie/statements/statement/assignment.rb', line 46 def positional? term.to_s.include?("?") end |
permalink #term ⇒ Object
[View source]
42 43 44 |
# File 'lib/cassie/statements/statement/assignment.rb', line 42 def term @term if enabled? end |
permalink #to_update_cql ⇒ Object
[View source]
50 51 52 |
# File 'lib/cassie/statements/statement/assignment.rb', line 50 def to_update_cql "#{identifier} = #{term}" if enabled? end |
permalink #value ⇒ Object
[View source]
25 26 27 28 |
# File 'lib/cassie/statements/statement/assignment.rb', line 25 def value return @value if defined?(@value) @value = source.send(value_method) end |