Module: DhanHQ::Events

Defined in:
lib/DhanHQ/events.rb,
lib/DhanHQ/events/bus.rb,
lib/DhanHQ/events/base.rb

Overview

Event types for the trading system.

Provides typed event classes for order lifecycle, market data, position updates, and strategy signals.

Examples:

Subscribe to order events

DhanHQ::Events.on(:order_filled) do |event|
  puts "Order filled: #{event.order_id}"
end

Defined Under Namespace

Classes: Base, Bus, OrderCancelled, OrderFilled, OrderPlaced, OrderRejected, PositionClosed, PositionOpened, SLHit, StrategySignal, TPHit, TickUpdated

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.busObject (readonly)

Get the default event bus.



130
131
132
# File 'lib/DhanHQ/events/bus.rb', line 130

def bus
  @bus
end

Class Method Details

.clearObject

Clear all subscribers (delegates to bus).



153
154
155
# File 'lib/DhanHQ/events/bus.rb', line 153

def clear
  bus.clear
end

.emit(event_type, data = {}) ⇒ Object

Emit an event (delegates to bus).



143
144
145
# File 'lib/DhanHQ/events/bus.rb', line 143

def emit(event_type, data = {})
  bus.emit(event_type, data)
end

.off(event_type, subscription_id) ⇒ Object

Unsubscribe from an event type (delegates to bus).



148
149
150
# File 'lib/DhanHQ/events/bus.rb', line 148

def off(event_type, subscription_id)
  bus.off(event_type, subscription_id)
end

.on(event_type) ⇒ Object

Subscribe to an event type (delegates to bus).



133
134
135
# File 'lib/DhanHQ/events/bus.rb', line 133

def on(event_type, &)
  bus.on(event_type, &)
end

.subscribe_allObject

Subscribe to all events (delegates to bus).



138
139
140
# File 'lib/DhanHQ/events/bus.rb', line 138

def subscribe_all(&)
  bus.subscribe_all(&)
end