Class: Puppet::Pops::Model::AbstractResource
Instance Attribute Summary collapse
Attributes inherited from Positioned
#length, #locator, #offset
Attributes inherited from PopsObject
#hash
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Positioned
#file, #line, #pos
Methods inherited from PopsObject
#_pcore_all_contents, #_pcore_contents, #to_s
#_pcore_all_contents, #_pcore_contents, #_pcore_type, #to_s
Constructor Details
#initialize(locator, offset, length, form = "regular") ⇒ AbstractResource
Returns a new instance of AbstractResource.
4083
4084
4085
4086
4087
|
# File 'lib/puppet/pops/model/ast.rb', line 4083
def initialize(locator, offset, length, form = "regular")
super(locator, offset, length)
@hash = @hash ^ form.hash
@form = form
end
|
Instance Attribute Details
4073
4074
4075
|
# File 'lib/puppet/pops/model/ast.rb', line 4073
def form
@form
end
|
Class Method Details
._pcore_type ⇒ Object
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
|
# File 'lib/puppet/pops/model/ast.rb', line 4029
def self._pcore_type
@_pcore_type ||=
Types::PObjectType
.new('Puppet::AST::AbstractResource', {
'parent' => Expression._pcore_type,
'attributes' => {
'form' => {
'type' => Types::PEnumType.new(['exported', 'regular', 'virtual']),
'value' => 'regular'
},
'virtual' => {
'type' => Types::PBooleanType::DEFAULT,
'kind' => 'derived'
},
'exported' => {
'type' => Types::PBooleanType::DEFAULT,
'kind' => 'derived'
}
}
})
end
|
.create(locator, offset, length, form = "regular") ⇒ Object
4063
4064
4065
4066
4067
4068
4069
4070
4071
|
# File 'lib/puppet/pops/model/ast.rb', line 4063
def self.create(locator, offset, length, form = "regular")
ta = Types::TypeAsserter
attrs = _pcore_type.attributes(true)
ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
ta.assert_instance_of('Puppet::AST::AbstractResource[form]', attrs['form'].type, form)
new(locator, offset, length, form)
end
|
.from_asserted_hash(init_hash) ⇒ Object
4055
4056
4057
4058
4059
4060
4061
|
# File 'lib/puppet/pops/model/ast.rb', line 4055
def self.from_asserted_hash(init_hash)
new(
init_hash['locator'],
init_hash['offset'],
init_hash['length'],
init_hash.fetch('form') { "regular" })
end
|
.from_hash(init_hash) ⇒ Object
4051
4052
4053
|
# File 'lib/puppet/pops/model/ast.rb', line 4051
def self.from_hash(init_hash)
from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::AbstractResource initializer', _pcore_type.init_hash_type, init_hash))
end
|
Instance Method Details
#_pcore_init_hash ⇒ Object
4089
4090
4091
4092
4093
|
# File 'lib/puppet/pops/model/ast.rb', line 4089
def _pcore_init_hash
result = super
result['form'] = @form unless @form == "regular"
result
end
|
#eql?(o) ⇒ Boolean
Also known as:
==
4095
4096
4097
4098
|
# File 'lib/puppet/pops/model/ast.rb', line 4095
def eql?(o)
super &&
@form.eql?(o.form)
end
|
4079
4080
4081
|
# File 'lib/puppet/pops/model/ast.rb', line 4079
def exported
@form == 'exported'
end
|
4075
4076
4077
|
# File 'lib/puppet/pops/model/ast.rb', line 4075
def virtual
@form == 'virtual' || @form == 'exported'
end
|