Class: AssOle::AppExtension::Spy

Inherits:
Abstract::Extension show all
Defined in:
lib/ass_ole/app_extension.rb

Overview

Class for explore exists infobase extensions.

Examples:

Explore infobase extensions

require 'ass_maintainer/info_base'

# Describe 1C application instance
ib = AssMaintainer::InfoBase.new('app_name', 'File="path"')

# Get all extensions and check all is plugged
AssOle::AppExtension::Spy.explore(ib).each do |spy|
  logger.error "#{spy.name} isn't plugged because:\n - "\
    "#{spy.apply_errors.map(&:Description).join(' - ')}"\
    unless spy.plugged?
end

Instance Attribute Summary

Attributes inherited from Abstract::Extension

#ole_runtime, #safe_mode

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Abstract::Extension

#all_extensions, #app_name, #app_version, #apply_errors, #apply_errors_get, #apply_warnings, #can_apply?, #exist?, #ole_connector, #plug, #plugged?, #save_stored_data, #verify_application!, #verify_version_compatibility!

Methods included from Abstract::Extension::AbstractMethods

#version

Constructor Details

#initialize(ole_runtime, ole) ⇒ Spy

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Spy.

Parameters:

  • ole (WIN32OLE)

    ConfigurationExtension object

  • ole_runtime (AssOle::Runtimes::App)

    1C ole runtime



365
366
367
368
# File 'lib/ass_ole/app_extension.rb', line 365

def initialize(ole_runtime, ole)
  @ole_runtime = ole_runtime
  @ole = ole
end

Class Method Details

.explore(info_base) ⇒ Array<Spy>

Returns all extensions stored in info_base

Returns:



429
430
431
432
433
434
# File 'lib/ass_ole/app_extension.rb', line 429

def self.explore(info_base)
  spy = Plug.new(info_base).new_ext(Spy, nil)
  spy.all_extensions.map do |ole|
    Spy.new(spy.ole_runtime, ole)
  end
end

Instance Method Details

#app_requirementsnil

Returns permanent.

Returns:

  • (nil)

    permanent



416
417
418
# File 'lib/ass_ole/app_extension.rb', line 416

def app_requirements
  nil
end

#dataWIN32OLE

Return #ole GetData

Returns:

  • (WIN32OLE)

    stored BinaryData



406
407
408
# File 'lib/ass_ole/app_extension.rb', line 406

def data
  ole.GetData
end

#nameString

Return #ole Name property

Returns:

  • (String)


400
401
402
# File 'lib/ass_ole/app_extension.rb', line 400

def name
  ole.Name
end

#oleWIN32OLE

Extension ole object.

Returns:

  • (WIN32OLE)

    ConfigurationExtension



376
377
378
# File 'lib/ass_ole/app_extension.rb', line 376

def ole
  @ole
end

#platform_require'~> 0'

Returns permanent.

Returns:

  • ('~> 0')

    permanent



411
412
413
# File 'lib/ass_ole/app_extension.rb', line 411

def platform_require
  Gem::Requirement.new '~> 0'
end

#plug!self

Do nothing.

Returns:

  • (self)


382
383
384
# File 'lib/ass_ole/app_extension.rb', line 382

def plug!
  self
end

#unplug!self

Do nothing

Returns:

  • (self)


388
389
390
# File 'lib/ass_ole/app_extension.rb', line 388

def unplug!
  self
end

#verify!self

Do nothing

Returns:

  • (self)


394
395
396
# File 'lib/ass_ole/app_extension.rb', line 394

def verify!
  self
end