Module: Orchestrator::Device::Mixin

Includes:
Core::Mixin
Defined in:
lib/orchestrator/device/mixin.rb

Instance Method Summary collapse

Methods included from Core::Mixin

#[], #[]=, #__STATS__, #current_user, #define_setting, #logger, #schedule, #setting, #subscribe, #systems, #task, #thread, #unsubscribe, #wake_device

Instance Method Details

#config(options) ⇒ Object



22
23
24
25
26
# File 'lib/orchestrator/device/mixin.rb', line 22

def config(options)
    @__config__.thread.schedule do
        @__config__.processor.config = options
    end
end

#defaults(options) ⇒ Object



28
29
30
31
32
# File 'lib/orchestrator/device/mixin.rb', line 28

def defaults(options)
    @__config__.thread.schedule do
        @__config__.processor.send_options(options)
    end
end

#disconnectObject



16
17
18
19
20
# File 'lib/orchestrator/device/mixin.rb', line 16

def disconnect
    @__config__.thread.schedule do
        @__config__.connection.disconnect
    end
end

#send(data, options = {}, &blk) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/orchestrator/device/mixin.rb', line 6

def send(data, options = {}, &blk)
    options[:data] = data
    options[:defer] = @__config__.thread.defer
    options[:on_receive] = blk if blk     # on command success
    @__config__.thread.schedule do
        @__config__.processor.queue_command(options)
    end
    options[:defer].promise
end