Heh, ah the Open Source conundrum :-D

I'll do what I can, but no guarantees on timeframe. Heck, I can't even keep
up with my own code on Github most days.

I think I see what you mean though. But, as I'm finding, some things are
just hard.

Thanks again!

Trevor

On Tue, Feb 19, 2013 at 12:21 PM, Luke Kanies <[email protected]> wrote:

> Ah.
>
> If the file type had better support for providers, then this would be easy
> - you'd just build a different provider.
>
> Any chance you're willing to help get that in shape, so that the rest of
> your work is much easier going forward?
>
> On Feb 19, 2013, at 6:10 AM, Trevor Vaughan <[email protected]>
> wrote:
>
> What I'm trying for is to do something like the following:
>
> module Puppet newtype(:myfile, :parent => Puppet::Type.type(:file)) do
>
>   # This should just magically "do the right thing"
>   newproperty(:content) do
>      defaultto do
>        provider.run_some_command
>      end
>   end
>
> end
>
> Basically, I want everything to stay the same but to have a default for
> the content based on running particular commands on the system and
> validating the output.
>
> It doesn't necessarily need to be this way, but I keep rewriting parts of
> the file type for different purposes and it seemed a bit silly.
>
> I suppose, if the methods that make up the file type and provider were a
> class, that might work better. Then I could simply pick and choose what
> parts I need to use as necessary.
>
> Part of my issue is how to tie the type and provider back to each other
> with the inheritance techniques.
>
> It's certainly possible that this just isn't possible the way things are
> right now.
>
> Thanks,
>
> Trevor
>
> On Tue, Feb 19, 2013 at 12:43 AM, Luke Kanies <[email protected]> wrote:
>
>> On Feb 18, 2013, at 5:55 PM, Trevor Vaughan <[email protected]>
>> wrote:
>>
>> I've been playing with how to do this but nothing obvious is working.
>>
>> I can specify the parent for both the type and provider but the methods,
>> parameters, and properties don't seem to come along for the ride.
>>
>> In particular, I want everything that the File type currently provides
>> but to override a few items with system-gathered materials.
>>
>> In this case a fact won't work due to the amount of data being
>> transferred/compared.
>>
>>
>> I don't think you realistically can.
>>
>> The Tidy type used to be a subclass of File, but I don't think it is any
>> more.  I think that was the only subclass out there, and I would be
>> surprised if subclassing were remotely simple to get what you wanted out of.
>>
>> I think the File provider is probably actually nowhere near what it needs
>> to be, so I don't think you get anything for subclassing it.
>>
>> That being said, what are you trying for, and how are you actually trying
>> it?  The methods should certainly transfer, and I think the parameters
>> should, too.
>>
>> --
>> Luke Kanies | http://about.me/lak | http://puppetlabs.com/ |
>> +1-615-594-8199
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
>
> --
> Trevor Vaughan
> Vice President, Onyx Point, Inc
> (410) 541-6699
> [email protected]
>
> -- This account not approved for unencrypted proprietary information --
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
>
> --
> Luke Kanies | http://about.me/lak | http://puppetlabs.com/ |
> +1-615-594-8199
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
[email protected]

-- This account not approved for unencrypted proprietary information --

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to