On Apr 13, 2010, at 9:16 AM, Brice Figureau wrote:
On Tue, 2010-04-13 at 09:06 -0700, Luke Kanies wrote:
On Apr 13, 2010, at 12:22 AM, Brice Figureau wrote:
On Mon, 2010-04-12 at 21:58 -0700, Luke Kanies wrote:
+1
The construct that includes a blank module vs. the compression
module
is a bit weird. You don't necessarily need to change it, but might
it
be simpler if you just had a hook that allowed you to conditionally
include it or not?
Yes, I suck at metaprogramming, but the good news is that I started
reading the book :-)
So you're proposing something like this:
module Puppet::Network::HTTP::Compression
def include_compression
include Puppet.features.zlib? ? Active : None
end
...
end
And then use include_compression in the other classes.
I meant more something like this:
module Puppet::Network::HTTP::Compression
def supported?
include Puppet.features.zlib?
end
end
class ...
include Puppet::Network::HTTP::Compression if
Puppet::Network::HTTP::Compression.supported?
end
I'm not sure this is a lot better, because the caller is now exposed
to that logic, but the whole stub module thing is at least weird
enough that it stuck out to me.
But then I have to make sure everywhere the compression methods are
used
that compression is supported before calling them.
I prefer to call stubs, this way compression is transparent to the
client code, and the inner workings are not exposed.
Ah; I guess I didn't realize that the stub module still had the
methods but just as pass-throughs.
--
Write a wise saying and your name will live forever.
-- Anonymous
---------------------------------------------------------------------
Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199
--
You received this message because you are subscribed to the Google Groups "Puppet
Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.