Class: Zeta

Inherits:
Object
  • Object
show all
Includes:
Instance
Defined in:
lib/zeta.rb,
lib/zeta/version.rb,
lib/zeta/instance.rb

Defined Under Namespace

Modules: Instance Classes: LocalOrRemoteFile, RSpec, Runner

Constant Summary collapse

LOCK =
Monitor.new
VERSION =
"2.1.4"

Instance Attribute Summary

Attributes included from Instance

#config

Class Method Summary collapse

Methods included from Instance

#cache_dir, #clear_cache, #config_file, #consume_object, #contracts_fulfilled?, #convert_all!, #current_service, #env, #errors, #infrastructure, #initialize, #update_contracts, #update_own_contracts, #validate_object_to_consume, #validate_object_to_consume!, #validate_object_to_publish, #validate_object_to_publish!, #verbose=

Class Method Details

.create_instance(options = {verbose: true}) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/zeta.rb', line 18

def self.create_instance(options = {verbose: true})
  LOCK.synchronize do
    # Create a Zeta instance
    @instance = new(options)

    # Copy the current service's specifications to cache dir
    @instance.update_own_contracts

    # Convert current service's specifications so published and
    # consumed objects of this service can be validated at
    # runtime
    @instance.convert_all!

    @instance
  end
end

.instanceObject



9
10
11
12
13
14
15
16
# File 'lib/zeta.rb', line 9

def self.instance
  LOCK.synchronize do
    if @instance.nil?
      create_instance
    end
    @instance
  end
end