Module: Machinery::ScopeMixin

Defined in:
lib/scope_mixin.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#metaObject

Returns the value of attribute meta.



38
39
40
# File 'lib/scope_mixin.rb', line 38

def meta
  @meta
end

Class Method Details

.all_scopesObject



25
26
27
# File 'lib/scope_mixin.rb', line 25

def self.all_scopes
  @scopes
end

.class_for(scope_name) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/scope_mixin.rb', line 29

def self.class_for(scope_name)
  all_scopes.each do |scope|
    if scope.new.scope_name == scope_name
      return scope
    end
  end
  nil
end

.included(mod) ⇒ Object



20
21
22
23
# File 'lib/scope_mixin.rb', line 20

def self.included(mod)
  @scopes ||= []
  @scopes.push(mod)
end

Instance Method Details

#is_extractable?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/scope_mixin.rb', line 52

def is_extractable?
  SystemDescription::EXTRACTABLE_SCOPES.include?(self.scope_name)
end

#scope_nameObject



47
48
49
50
# File 'lib/scope_mixin.rb', line 47

def scope_name
  scope = self.class.name.match(/^(.*)Scope$/)[1]
  scope.gsub(/([^A-Z])([A-Z])/, "\\1_\\2").downcase
end

#set_metadata(timestring, host) ⇒ Object



40
41
42
43
44
45
# File 'lib/scope_mixin.rb', line 40

def (timestring, host)
  self.meta = Machinery::Object.new(
    modified: timestring,
    hostname: host
  )
end