class Glimmer::DSL::Opal::ObserveExpression

Constants

REGEX_NESTED_OR_INDEXED_PROPERTY

Public Instance Methods

can_interpret?(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/opal/observe_expression.rb, line 14
def can_interpret?(parent, keyword, *args, &block)
  keyword == 'observe' and
    block_given? and
    (args.size == 2) and
    textual?(args[1])
end
interpret(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/opal/observe_expression.rb, line 21
def interpret(parent, keyword, *args, &block)
  observer = DataBinding::Observer.proc(&block)
  if args[1].to_s.match(REGEX_NESTED_OR_INDEXED_PROPERTY)
    observer.observe(DataBinding::ModelBinding.new(args[0], args[1]))
  else
    observer.observe(args[0], args[1])
  end
end