BTW, I was writing my thoughts on this and fired up chef-shell to try it.And guess what, this works like a charm in recipe_mode without any ::chef:recipe > file "test" dochef:recipe > not_if { File.exists?("test") }chef:recipe ?> endAre we even sure this is still a problem or are we cargo-culting something that is in the past?!On Tue, Apr 16, 2013 at 8:31 PM, Akzhan Abdulin < " target="_blank"> > wrote:
Noah, I suppose that it MUST be a choice of core team. This is a missed usability issue.2013/4/16 Noah Kantrowitz < " target="_blank"> >
Make a patch and open a ticket and I'm sure btm and crew will be glad to take a look :) It might need to wait for a major release since it would be a backwards-incompatible change, but this would only affect people subclassing the file resource I think, which should be somewhat rare so maybe we can just put out a warning.
--Noah
On Apr 16, 2013, at 11:25 AM, Akzhan Abdulin wrote:
> 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 < " target="_blank"> > 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
> >> < " target="_blank"> > 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 < " target="_blank"> >
> >>>>
> >>>> 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.