From: Christopher Dicely Date: 2008-02-21T00:14:52+09:00 Subject: Re: Write a copy of the current script Looking through _The Ruby Way_ for something else, I ran into something that could be used here. If you end the source of your script with an __END__ marker, you can call DATA.rewind (DATA is a global constant IO object for the source file that starts out at a position just after the __END__) and then access the source code of through DATA. On Feb 18, 2008 9:20 AM, dkmd_nielsen wrote: > On Feb 18, 10:58 am, Christopher Dicely wrote: > > Is there a particular reason you are having the "operations people" > > modify the script directly rather than having them modify a > > configuration file of some kind that the script reads? If there is a > > fixed set of parameters that need changed, reading them from a file is > > cleaner (YAML would be a good choice, here) than modifying the script, > > and then you can just copy the config file to an archive location when > > you load it. > > > > Other than that, the only thing I can think of off the top of my head > > is having the script that is being edited not be the main script, but > > instead be required by a wrapper script that uses SCRIPT_LINES__ to > > capture the contents of the required file, and then archives it > > somewhere. > > > > On Feb 18, 2008 6:49 AM, dkmd_nielsen wrote: > > > > > I would like to write a copy of the current script being executed. > > > I've attempted to use __FILE__ and $0, but neither is returning the > > > full path name of script. I get the file name, but not the path in > > > which it resides. Anyone have a quick solution? > > > > > def initialize > > > @script = $0 # Save where the script is from > > > puts "[#{@script}]" > > > end > > > > > returns "[AAN_StandardSetup.rb]" > > > > > The script being run is a process setup, where the operations people > > > fill in script parameters. The script then creates folder structures > > > and performs particular functions. I want to save a copy of the > > > script after the operations people have completed filling everything > > > in. It would be saved in one of the folders created by the execution > > > of the script. That's my dilemma...I want to save it somewhere after > > > it has started executing. > > > > > Tips and suggestions are appreciated. > > > dvn > > It's a dog chasing its tail. The script is a configuration file. And > the scripts job is to simplify the creation of the production folder > structure, copy an applications configuration file, update its > contents with user specified values and the folder structure > information, and then execute the application. Using the script > method was easier to implement. The operations people load the > script, change some values, press "F5" to execute the script, and > they're done. The other scenario would involve them locating the > configuration file, updating it and saving it, going somewhere else > for the script, updating it and then running it. > > I know it sounds piddly...but trust me. The operations people aren't > developers. They're not the sharpest knives in the drawer. The > company keeps pushing us to dumb things down so they can use less and > less skilled people to do the work. > > Thanks > >