class Glimmer::DSL::Tk::BindExpression

Responsible for setting up the return value of the bind keyword (command symbol) as a ModelBinding. It is then used by another command handler like DataBindingCommandHandler for text and other attributes

Public Instance Methods

can_interpret?(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/tk/bind_expression.rb, line 32
def can_interpret?(parent, keyword, *args, &block)
  (
    keyword == 'bind' and
      (
        (
          (args.size == 2) and
            textual?(args[1])
        ) ||
          (
            (args.size == 3) and
              textual?(args[1]) and
              (args[2].is_a?(Hash))
          )
      )
  )
end
interpret(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/tk/bind_expression.rb, line 49
def interpret(parent, keyword, *args, &block)
  binding_options = args[2] || {}
  binding_options[:on_read] = binding_options.delete(:on_read) || binding_options.delete('on_read') || block
  DataBinding::ModelBinding.new(args[0], args[1].to_s, binding_options)
end