[chef-dev] Re: Re: ::File notation


Chronological Thread 
  • From: Akzhan Abdulin < >
  • To: Mike < >
  • Cc: Noah Kantrowitz < >, Avishai Ish-Shalom < >, Chef Dev < >
  • Subject: [chef-dev] Re: Re: ::File notation
  • Date: Tue, 16 Apr 2013 22:25:28 +0400

Mike, take a note that recipe authors aren't ruby pro's (more administrators than programmers). So we need to keep recipe syntax as simple as can.

File.exists? phrase is more intuitive than ::File.exists? one. No namespace collision issue in mind.



2013/4/16 Mike < " target="_blank"> >
So we're back to me not understanding the problem that Akzhan is stating.

On Tue, Apr 16, 2013 at 1:51 PM, Noah Kantrowitz < "> > wrote:
> Yep, the issue is that recipe code is executed in the Chef::Recipe namespace, so "File" gets you Chef::File. Not sure there is a workaround given Ruby's structure for name lookups.
>
> --Noah
>
> On Apr 16, 2013, at 10:18 AM, Mike wrote:
>
>> I don't understand.
>>
>> By using ::File, aren't you guaranteeing that you're using the root namespace?
>>
>> On Tue, Apr 16, 2013 at 12:56 PM, Akzhan Abdulin
>> < "> > wrote:
>>> Hello Chiefs,
>>>
>>> I have insight, - Chef classes should never be named as system ones.
>>>
>>> We need to eliminate ::File and so on notation.
>>>
>>> Yours sincerely,
>>>  Akzhan.
>>>
>>>
>>> 2013/4/16 Avishai Ish-Shalom < "> >
>>>>
>>>> inline_recipe "test" do
>>>>
>>>>     block do
>>>>             log "testing resource group"
>>>>
>>>>             file "/tmp/test1" do
>>>>
>>>>                     mode "0600"
>>>>
>>>>             end
>>>>     end
>>>>     action :nothing
>>>>
>>>>     notifies :write, "log[test]"
>>>>
>>>>  only_if { ::File.exists? "/tmp/test2" }
>>>>
>>>> end
>>>>
>>>>
>>>>
>>>> https://github.com/avishai-ish-shalom/chef-inline-recipe/blob/master/recipes/default.rb
>>>>
>>>>
>>>
>




Archive powered by MHonArc 2.6.16.

§