Class: RubyMotionQuery::Events

Inherits:
Object
  • Object
show all
Defined in:
motion/ruby_motion_query/events.rb

Instance Method Summary (collapse)

Constructor Details

- (Events) initialize

Returns a new instance of Events



110
111
112
# File 'motion/ruby_motion_query/events.rb', line 110

def initialize
  @event_set = {}
end

Instance Method Details

- (Object) [](sdk_event_or_recognizer)



114
115
116
# File 'motion/ruby_motion_query/events.rb', line 114

def [](sdk_event_or_recognizer)
  @event_set[sdk_event_or_recognizer]
end

- (Boolean) has_event?(sdk_event_or_recognizer)

Returns:

  • (Boolean)


122
123
124
# File 'motion/ruby_motion_query/events.rb', line 122

def has_event?(sdk_event_or_recognizer)
  @event_set.include?(sdk_event_or_recognizer)
end

- (Boolean) has_events?

Returns:

  • (Boolean)


118
119
120
# File 'motion/ruby_motion_query/events.rb', line 118

def has_events?
  !RMQ.is_blank?(@event_set)
end

- (Object) off(*events)



138
139
140
141
142
143
144
145
146
147
148
149
# File 'motion/ruby_motion_query/events.rb', line 138

def off(*events)
  events.flatten!
  events = @event_set.keys if events.length == 0

  events.each do |event| 
    if rm_event = @event_set.delete(event)
      rm_event.remove 
    end
  end

  self
end

- (Object) on(view, event, args = {}, &block)



126
127
128
129
130
131
132
133
134
135
136
# File 'motion/ruby_motion_query/events.rb', line 126

def on(view, event, args = {}, &block)
  raise "[RMQ Error]  Event already exists on this object: #{event}. Remove first, using .off" if @event_set[event]

  if rmqe = RubyMotionQuery::Event.new(view, event, block)
    rmqe.set_options(args)

    @event_set[event] = rmqe
  end

  view
end