[[chef-dev]] Re: [[chef-dev]] Advice on writing an LWRP


Chronological Thread 
  • From: Charles Sullivan < >
  • To: "< >" < >
  • Cc: " " < >
  • Subject: [[chef-dev]] Re: [[chef-dev]] Advice on writing an LWRP
  • Date: Fri, 3 Jun 2011 19:41:15 -0500
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to; b=JbrjYbagwifZR0xcyUFrxPBPJ8A9iAw+mzOc/gA8OCm+Nnx3a9uFd+/BZjS7dMOhOv rK2oaLtnaKT6kJ9FZeWA9Dv8Jrckb3ZW7vhPPjIl+sqhWParhfctZdSoZXworXPp0qN+ q6hQYsGtqftdVsWkWuyne+6Px6x220MX3Lu8o=

I have a s3_file resource i can send you that extends the same class. It 
isn't a LWRP and extends the class correctly.  When I get home from the pub 
I'll attach it.  Only thing it doesn't do is check checksums correctly 
because amazon uses md5 not sha. 

Sent from my iPhone

On Jun 3, 2011, at 6:46 PM, 
< >
 wrote:

> Hello all, 
> 
> I am trying to write a LWRP, and following the instructions, have something
> basic working, now comes the hard part, making it do what I really want. 
> 
> The main problem is I don't want to duplicate code and so want to extend a
> Provider that comes with Chef (RemoteFile), but a LWP gets a class 
> dynamically
> generated for it. Is there any way to specify that the generated class in a 
> LWP
> should extend another? I tried just plopping a whole ruby class (partially
> included below) in the LWP file, but when run it fails complaining " FATAL:
> NameError: uninitialized constant
> #<Class:0x1024a9888>::Chef::Provider::RemoteFile" even though I had 
> required 
> 'chef/provider/remote_file'. 
> 
> I can of course copy the methods from File and RemoteFile into my LWP, but I
> don't want to do that if I can avoid it. 
> 
> Thank you in advance. 
> 
> 
> Code excerpt mentioned above:
> 
> require 'chef/provider/remote_file'
> class Chef
>  class Provider
>    class S3File < Chef::Provider::RemoteFile
>    ...
>    end
>  end
> end



Archive powered by MHonArc 2.6.16.

§