Module: Cuboid

Defined in:
lib/cuboid.rb,
lib/cuboid/data.rb,
lib/cuboid/error.rb,
lib/cuboid/state.rb,
lib/cuboid/banner.rb,
lib/cuboid/report.rb,
lib/cuboid/system.rb,
lib/cuboid/options.rb,
lib/cuboid/version.rb,
lib/cuboid/snapshot.rb,
lib/cuboid/ui/output.rb,
lib/cuboid/utilities.rb,
lib/cuboid/application.rb,
lib/cuboid/rest/server.rb,
lib/cuboid/option_group.rb,
lib/cuboid/support/glob.rb,
lib/cuboid/system/slots.rb,
lib/cuboid/state/options.rb,
lib/cuboid/rpc/serializer.rb,
lib/cuboid/rpc/client/base.rb,
lib/cuboid/rpc/server/base.rb,
lib/cuboid/data/application.rb,
lib/cuboid/processes/agents.rb,
lib/cuboid/rpc/client/agent.rb,
lib/cuboid/rpc/server/agent.rb,
lib/cuboid/system/platforms.rb,
lib/cuboid/processes/manager.rb,
lib/cuboid/rpc/server/output.rb,
lib/cuboid/state/application.rb,
lib/cuboid/support/cache/base.rb,
lib/cuboid/support/filter/set.rb,
lib/cuboid/application/runtime.rb,
lib/cuboid/processes/instances.rb,
lib/cuboid/rpc/client/instance.rb,
lib/cuboid/rpc/server/instance.rb,
lib/cuboid/support/buffer/base.rb,
lib/cuboid/support/filter/base.rb,
lib/cuboid/ui/output_interface.rb,
lib/cuboid/processes/schedulers.rb,
lib/cuboid/rpc/client/scheduler.rb,
lib/cuboid/rpc/server/scheduler.rb,
lib/cuboid/support/mixins/parts.rb,
lib/cuboid/system/platforms/osx.rb,
lib/cuboid/rpc/server/agent/node.rb,
lib/cuboid/support/database/base.rb,
lib/cuboid/support/database/hash.rb,
lib/cuboid/application/parts/data.rb,
lib/cuboid/support/database/queue.rb,
lib/cuboid/system/platforms/linux.rb,
lib/cuboid/application/parts/state.rb,
lib/cuboid/rest/server/routes/grid.rb,
lib/cuboid/support/mixins/profiler.rb,
lib/cuboid/support/mixins/terminal.rb,
lib/cuboid/application/parts/report.rb,
lib/cuboid/rest/server/routes/agent.rb,
lib/cuboid/rpc/server/agent/service.rb,
lib/cuboid/support/buffer/autoflush.rb,
lib/cuboid/support/cache/preference.rb,
lib/cuboid/system/platforms/windows.rb,
lib/cuboid/rpc/server/active_options.rb,
lib/cuboid/rpc/server/instance/peers.rb,
lib/cuboid/support/mixins/observable.rb,
lib/cuboid/support/crypto/rsa_aes_cbc.rb,
lib/cuboid/rpc/client/instance/service.rb,
lib/cuboid/rpc/server/instance/service.rb,
lib/cuboid/rest/server/instance_helpers.rb,
lib/cuboid/rest/server/routes/instances.rb,
lib/cuboid/rest/server/routes/scheduler.rb,
lib/cuboid/system/platforms/mixins/unix.rb,
lib/cuboid/ui/output_interface/abstract.rb,
lib/cuboid/ui/output_interface/controls.rb,
lib/cuboid/support/mixins/spec_instances.rb,
lib/cuboid/rpc/server/application_wrapper.rb,
lib/cuboid/ui/output_interface/implemented.rb,
lib/cuboid/support/cache/random_replacement.rb,
lib/cuboid/support/cache/least_recently_used.rb,
lib/cuboid/ui/output_interface/error_logging.rb,
lib/cuboid/support/database/categorized_queue.rb,
lib/cuboid/support/cache/least_recently_pushed.rb,
lib/cuboid/ui/output_interface/personalization.rb,
lib/cuboid/support/cache/least_cost_replacement.rb

Defined Under Namespace

Modules: Mixins, OptionGroups, Processes, RPC, Rest, Support, UI, Utilities Classes: Application, Data, Error, OptionGroup, Options, Report, Snapshot, State, System

Constant Summary collapse

WEBSITE =
'http://placeholder.com'
<<EOBANNER
Cuboid - Ruby Framework v#{VERSION}
   by Placeholder LLC <#{WEBSITE}>
EOBANNER
VERSION =

the universal system version

IO.read( File.dirname( __FILE__ ) + '/../version' ).strip

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.collect_young_objectsObject

Runs a minor GC to collect young, short-lived objects.

Generally called after analysis operations that generate a lot of new temporary objects.



23
24
25
# File 'lib/cuboid.rb', line 23

def collect_young_objects
    # GC.start( full_mark: false )
end

.linux?Bool

Returns:

  • (Bool)


37
38
39
# File 'lib/cuboid.rb', line 37

def linux?
    @is_linux ||= RbConfig::CONFIG['host_os'] =~ /linux/
end

.mac?Bool

Returns:

  • (Bool)


42
43
44
# File 'lib/cuboid.rb', line 42

def mac?
    @is_mac ||= RbConfig::CONFIG['host_os'] =~ /darwin|mac os/i
end

.null_deviceObject



27
28
29
# File 'lib/cuboid.rb', line 27

def null_device
    Gem.win_platform? ? 'NUL' : '/dev/null'
end

.profile?Bool

Returns ‘true` if the `CUBOID_PROFILE` env variable is set, `false` otherwise.

Returns:

  • (Bool)

    ‘true` if the `CUBOID_PROFILE` env variable is set, `false` otherwise.



49
50
51
# File 'lib/cuboid.rb', line 49

def profile?
    !!ENV['CUBOID_PROFILE']
end

.windows?Bool

Returns:

  • (Bool)


32
33
34
# File 'lib/cuboid.rb', line 32

def windows?
    Gem.win_platform?
end

Instance Method Details

#get_long_win32_filename(short_name) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/cuboid.rb', line 59

def get_long_win32_filename( short_name )
    short_name = short_name.dup
    max_path   = 1024
    long_name  = ' ' * max_path

    lfn_size = Win32API.new(
        "kernel32", 
        "GetLongPathName",
        ['P','P','L'],
        'L'
    ).call( short_name, long_name, max_path )

    (1..max_path).include?( lfn_size ) ? 
        long_name[0..lfn_size-1] : short_name
end