Class: PuppetX::Puppetlabs::Migration::OverviewModel::Node

Inherits:
NamedEntity show all
Defined in:
lib/puppet_x/puppetlabs/migration/overview_model.rb

Overview

A Node in the overview report represents a Catalog delta produced on a specific node

Instance Attribute Summary collapse

Attributes inherited from NamedEntity

#name

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from NamedEntity

#<=>

Methods inherited from Entity

#<=>, #eql?, from_hash, #hash, #id, init_relationships, many_relationship, #many_relationship, #one_relationship, simple_name

Methods included from ModelObject

#initialize_from_hash, #to_hash

Constructor Details

#initialize(id, name, timestamp, severity, exit_code) ⇒ Node

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 Node.



189
190
191
192
193
194
# File 'lib/puppet_x/puppetlabs/migration/overview_model.rb', line 189

def initialize(id, name, timestamp, severity, exit_code)
  super(id, name)
  @timestamp = timestamp
  @severity = severity
  @exit_code = exit_code
end

Instance Attribute Details

#exit_codeObject (readonly)



186
187
188
# File 'lib/puppet_x/puppetlabs/migration/overview_model.rb', line 186

def exit_code
  @exit_code
end

#severityObject (readonly)



185
186
187
# File 'lib/puppet_x/puppetlabs/migration/overview_model.rb', line 185

def severity
  @severity
end

#timestampObject (readonly)



184
185
186
# File 'lib/puppet_x/puppetlabs/migration/overview_model.rb', line 184

def timestamp
  @timestamp
end

Class Method Details

.many_rels_hashObject

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.



197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/puppet_x/puppetlabs/migration/overview_model.rb', line 197

def self.many_rels_hash
  {
    :baseline_compilation => [Compilation.instance_method(:node_id), Query::MemberEqualFilter.new(:baseline?, true), Query::ScalarValue],
    :preview_compilation => [Compilation.instance_method(:node_id), Query::MemberEqualFilter.new(:baseline?, false), Query::ScalarValue],
    :baseline_env => [Compilation.instance_method(:node_id), Query::MemberEqualFilter.new(:baseline?, true), :environment_id, Query::ScalarValue],
    :preview_env => [Compilation.instance_method(:node_id), Query::MemberEqualFilter.new(:baseline?, false), :environment_id, Query::ScalarValue],
    :log_entries => [Compilation.instance_method(:node_id), LogEntry.instance_method(:compilation_id)],
    :baseline_log_entries => [Compilation.instance_method(:node_id), Query::MemberEqualFilter.new(:baseline?, true), LogEntry.instance_method(:compilation_id)],
    :preview_log_entries => [Compilation.instance_method(:node_id), Query::MemberEqualFilter.new(:baseline?, false), LogEntry.instance_method(:compilation_id)],
    :issues => [IssueOnNode.instance_method(:node_id), :node_issue_id],

    # for access to the intermediate entity that represents the many-to-many relationship. Used
    # by the {Query::NodeExtractor} but otherwise not normally used.
    :issues_on_node => IssueOnNode.instance_method(:node_id)
  }
end