<feed xmlns='http://www.w3.org/2005/Atom'>
<title>puppet.git/spec/unit/parser/resource, branch master</title>
<subtitle>Puppet repo</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/'/>
<entry>
<title>Removing Resource::Reference classes</title>
<updated>2010-02-17T14:50:53+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@reductivelabs.com</email>
</author>
<published>2010-01-30T02:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=7089446697ad550c22012bc2b5572030727d67e1'/>
<id>7089446697ad550c22012bc2b5572030727d67e1</id>
<content type='text'>
This commit is hopefully less messy than it
first appears, but it's certainly cross-cutting.

The reason for all of this is that we previously only
looked up builtin resource types from outside the parser,
but now that the defined resource types are available globally
via environments, we can push that lookup code to Resource.

Once we do that, however, we have to have environment and
namespace information in every resource.

Here I remove the Resource::Reference classes (except
the AST class), and use Resource instances instead. I
did this because the shared code between the two classes
got incredibly complicated, such that they should have had
a hierarchical relationship disallowed by their constants.
This complexity convinced me just to get rid of References
entirely.

I also make Puppet::Parser::Resource a subclass
of Puppet::Resource.

There are still broken tests in test/, but this was a big
enough commit I wanted to get it in.

Signed-off-by: Luke Kanies &lt;luke@reductivelabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit is hopefully less messy than it
first appears, but it's certainly cross-cutting.

The reason for all of this is that we previously only
looked up builtin resource types from outside the parser,
but now that the defined resource types are available globally
via environments, we can push that lookup code to Resource.

Once we do that, however, we have to have environment and
namespace information in every resource.

Here I remove the Resource::Reference classes (except
the AST class), and use Resource instances instead. I
did this because the shared code between the two classes
got incredibly complicated, such that they should have had
a hierarchical relationship disallowed by their constants.
This complexity convinced me just to get rid of References
entirely.

I also make Puppet::Parser::Resource a subclass
of Puppet::Resource.

There are still broken tests in test/, but this was a big
enough commit I wanted to get it in.

Signed-off-by: Luke Kanies &lt;luke@reductivelabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Renaming Parser::ResourceType to Resource::Type</title>
<updated>2010-02-17T14:50:53+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@reductivelabs.com</email>
</author>
<published>2010-01-08T01:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=d0389f4d16efbeccf47d6cd2f1b0854ccb1c88d5'/>
<id>d0389f4d16efbeccf47d6cd2f1b0854ccb1c88d5</id>
<content type='text'>
Basically, these classes (ResourceType and ResourceTypeCollection)
don't really belong in Parser, so I'm moving them to the
Resource namespace.  This will be where anything RAL-related goes
from now on, and as we migrate functionality out of Puppet::Type,
it should go here.

Signed-off-by: Luke Kanies &lt;luke@reductivelabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Basically, these classes (ResourceType and ResourceTypeCollection)
don't really belong in Parser, so I'm moving them to the
Resource namespace.  This will be where anything RAL-related goes
from now on, and as we migrate functionality out of Puppet::Type,
it should go here.

Signed-off-by: Luke Kanies &lt;luke@reductivelabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>All non-transient parser references are gone</title>
<updated>2010-02-17T14:50:53+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@reductivelabs.com</email>
</author>
<published>2010-01-07T01:42:42+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=b82b4ef04282ca0006931562f60459a1591b6268'/>
<id>b82b4ef04282ca0006931562f60459a1591b6268</id>
<content type='text'>
We now use references to the ResourceTypeCollection
instances through the environment, which is much cleaner.

The next step is to remove the Interpreter class.

Signed-off-by: Luke Kanies &lt;luke@reductivelabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We now use references to the ResourceTypeCollection
instances through the environment, which is much cleaner.

The next step is to remove the Interpreter class.

Signed-off-by: Luke Kanies &lt;luke@reductivelabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '0.25.x'</title>
<updated>2010-01-12T21:07:30+00:00</updated>
<author>
<name>James Turnbull</name>
<email>james@lovedthanlost.net</email>
</author>
<published>2010-01-12T21:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=b6f90dfcd96123c245b6f5fd93753790006387c0'/>
<id>b6f90dfcd96123c245b6f5fd93753790006387c0</id>
<content type='text'>
Conflicts:
	lib/puppet/ssl/host.rb
	spec/spec_helper.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	lib/puppet/ssl/host.rb
	spec/spec_helper.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>ReFix 2675 ending slash in directory should get stripped off</title>
<updated>2010-01-01T00:45:44+00:00</updated>
<author>
<name>Jesse Wolfe</name>
<email>jes5199@gmail.com</email>
</author>
<published>2009-12-31T05:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=13cbf043c6e16c14b0ab9fccd5738a8c9e5925b3'/>
<id>13cbf043c6e16c14b0ab9fccd5738a8c9e5925b3</id>
<content type='text'>
There was an intermittent bug in Puppet::Parser::Resource::Reference,
during initialization, and object could sometimes have its title set
before its type is set. This prevented the title from going through
type-specific canonicalization.

Signed-off-by: Jesse Wolfe &lt;jes5199@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was an intermittent bug in Puppet::Parser::Resource::Reference,
during initialization, and object could sometimes have its title set
before its type is set. This prevented the title from going through
type-specific canonicalization.

Signed-off-by: Jesse Wolfe &lt;jes5199@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '0.25.x'</title>
<updated>2009-12-22T00:23:44+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@reductivelabs.com</email>
</author>
<published>2009-12-22T00:23:44+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=740fd6b301af89ab3aad89bca183ad1fcdc24ac4'/>
<id>740fd6b301af89ab3aad89bca183ad1fcdc24ac4</id>
<content type='text'>
Conflicts:
	lib/puppet/agent.rb
	lib/puppet/application/puppetd.rb
	lib/puppet/parser/ast/leaf.rb
	lib/puppet/util/rdoc/parser.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	lib/puppet/agent.rb
	lib/puppet/application/puppetd.rb
	lib/puppet/parser/ast/leaf.rb
	lib/puppet/util/rdoc/parser.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixing #2596 - Node, Class, Definition are not AST</title>
<updated>2009-12-08T15:13:03+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@madstop.com</email>
</author>
<published>2009-12-02T00:41:38+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=8971d8beae2c409f9052f27c3f80ad3bdfff4de2'/>
<id>8971d8beae2c409f9052f27c3f80ad3bdfff4de2</id>
<content type='text'>
This commit extracts these three classes into a single
ResourceType class in the Parser heirarchy, now completely
independent of the AST heirarchy.

Most of the other changes are just changing the interface
to the new class, which is greatly simplified over the previous
classes.

This opens up the possibility of drastically simplifying a lot
of this other code, too -- in particular, replacing the reference
to the parser with a reference to the (soon to be renamed)
LoadedCode class.

Signed-off-by: Luke Kanies &lt;luke@madstop.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit extracts these three classes into a single
ResourceType class in the Parser heirarchy, now completely
independent of the AST heirarchy.

Most of the other changes are just changing the interface
to the new class, which is greatly simplified over the previous
classes.

This opens up the possibility of drastically simplifying a lot
of this other code, too -- in particular, replacing the reference
to the parser with a reference to the (soon to be renamed)
LoadedCode class.

Signed-off-by: Luke Kanies &lt;luke@madstop.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Least kludgy patch for #2675</title>
<updated>2009-11-13T22:08:53+00:00</updated>
<author>
<name>Markus Roberts</name>
<email>Markus@reality.com</email>
</author>
<published>2009-10-27T06:09:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=ca56aa7e5849a5489e8d38e29b25ea934caafcd7'/>
<id>ca56aa7e5849a5489e8d38e29b25ea934caafcd7</id>
<content type='text'>
This makes parameters responsible for the canonicalization of their values and
provides a default (passthrough) implementation.  It changes munge to pre-
canonicalize the value and resource references to builtin types to canonicalize
titles (which map to resorce namevars) with the corresponding parameter's
classes's canonicalization.

It adds a canonicalization routine to file paths that normalizes the behaviour
(trailing slashes are ignored) and DRYs up the related code.

Signed-off-by: Markus Roberts &lt;Markus@reality.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes parameters responsible for the canonicalization of their values and
provides a default (passthrough) implementation.  It changes munge to pre-
canonicalize the value and resource references to builtin types to canonicalize
titles (which map to resorce namevars) with the corresponding parameter's
classes's canonicalization.

It adds a canonicalization routine to file paths that normalizes the behaviour
(trailing slashes are ignored) and DRYs up the related code.

Signed-off-by: Markus Roberts &lt;Markus@reality.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Using the FileCollection where appropriate.</title>
<updated>2009-02-27T22:16:42+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@madstop.com</email>
</author>
<published>2009-02-13T06:29:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=fa6494b69ad1b01a9c587c86aa1731f4702f5509'/>
<id>fa6494b69ad1b01a9c587c86aa1731f4702f5509</id>
<content type='text'>
This commit just replaces the :file and :line accessors
with the use of the new FileCollection Lookup module.
This should mean that we've normalized all file names in
a given process, which *might* have drastic RAM improvements.

For initial simplicity, I've gone with a single global
collection of file names, but it's built so it's easy to use
individual file collections instead.

Signed-off-by: Luke Kanies &lt;luke@madstop.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit just replaces the :file and :line accessors
with the use of the new FileCollection Lookup module.
This should mean that we've normalized all file names in
a given process, which *might* have drastic RAM improvements.

For initial simplicity, I've gone with a single global
collection of file names, but it's built so it's easy to use
individual file collections instead.

Signed-off-by: Luke Kanies &lt;luke@madstop.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixing #1755 - handling fully qualified classes correctly.</title>
<updated>2008-11-26T05:09:47+00:00</updated>
<author>
<name>Luke Kanies</name>
<email>luke@madstop.com</email>
</author>
<published>2008-11-26T04:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=3421954444f4c06d6e7b80430f89fccf56343fe2'/>
<id>3421954444f4c06d6e7b80430f89fccf56343fe2</id>
<content type='text'>
This involves lexing '::class' tokens along with correctly
looking them up from the Resource::Reference class.

Signed-off-by: Luke Kanies &lt;luke@madstop.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This involves lexing '::class' tokens along with correctly
looking them up from the Resource::Reference class.

Signed-off-by: Luke Kanies &lt;luke@madstop.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
