<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class=""><br class="">
</div>
<div class="">Thanks for the pry-remote tip, Dave. </div>
<div class=""><br class="">
</div>
<div class="">I’ve found that using ‘binding.pry’ from running backend:devserver does take input, but not reliably. </div>
<div class="">The symptoms look to me like it’s trying to take input from more than one thread: I can get a two letter</div>
<div class="">command like ‘cd’ or ‘ls’ to work, but something like ‘exit’ takes several tries as it does not receive</div>
<div class="">all of the characters.  Googling the issue finds some problems with jruby and/or MacOS readline implementation. </div>
<div class="">I was going to try to find a way to hack around it with commands in .pryrc , but pry-remote looks like it </div>
<div class="">may be the simpler solution. </div>
<div class=""><br class="">
</div>
<div class="">I’m also using pry directly from the console on the backend, and pry with pry-rails in the frontend along with</div>
<div class="">rbenv. binding.pry and other pry functions (as well as awesome_print gem) work OK in that environment. </div>
<div class=""><br class="">
</div>
<div class="">For that, I’ve copied most of the env settings from the ArchivesSpace jirb script, but I replace the rbenv</div>
<div class="">shims path with the actual path for rbenv installed jruby — otherwise some of the ./build/run scripts </div>
<div class="">endlessly loop when trying to run some tasks:</div>
<div class=""><br class="">
</div>
<div class="">
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
PATH=$(dirname $(rbenv which gem)):$PATH  # put actual programs ahead of shims...</div>
</div>
<div class=""><br class="">
</div>
<div class="">then I run one of:</div>
<div class=""><br class="">
</div>
<div class="">
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
if [ "$1" = "backend" ]</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
then</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
shift </div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
export BUNDLE_GEMFILE=$BACKEND_GEMFILE</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
bundle exec pry --no-pager -r backend/app/main.rb -r awesome_print</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
elif [ "$1" = "frontend" ]</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
then</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
shift</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
export BUNDLE_GEMFILE=$FRONTEND_GEMFILE</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
cd frontend</div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
bundle exec rails console </div>
<div style="margin: 0px; font-size: 15px; background-color: rgb(255, 238, 219);" class="">
fi</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">If I’m debugging one particular component rather than the whole system, sometimes it’s easier to just </div>
<div class="">issue commands from the console in pry rather than use binding.pry breakpoints. </div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">— Steve Majewski</div>
<div class=""><br class="">
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Feb 9, 2016, at 11:28 PM, Mayo, Dave <<a href="mailto:dave_mayo@harvard.edu" class="">dave_mayo@harvard.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-family: Calibri, sans-serif; font-size: 14px;" class="">
<div class="">Hi Esha,</div>
<div class=""><br class="">
</div>
<div class="">As far as running bundler, I've found that running:</div>
<div class=""><br class="">
</div>
<div class="">./build/run bundler -Dgemfile=../backend/Gemfile  </div>
<div class=""><br class="">
</div>
<div class="">from the archivesspace root directory gets the contents of that Gemfile installed properly.</div>
<div class=""><br class="">
</div>
<div class="">I'm running my devserver via `.build/run backend:devserver`.  If you're doing the same, `binding.pry` STILL won't work, because the backend doesn't log directly to console, and whatever intermediate it's using (Ant? I think Ant) only does output.  What
 I DID get working was installing the pry-remote Gem, and then doing `binding.remote_pry` and connecting from another terminal.</div>
<div class=""><br class="">
</div>
<div class="">Let me know if this works out for you, or if there's anything else I can possibly do to help.</div>
<div class=""><br class="">
</div>
<div class="">- Dave Mayo</div>
<div class="">  Library Software Engineer</div>
<div class="">  Harvard University -> HUIT -> LTS</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">From:  Esha Datta <<a href="mailto:esha@nyu.edu" class="">esha@nyu.edu</a>></div>
<div class="">Reply-To:  "<a href="mailto:esha@nyu.edu" class="">esha@nyu.edu</a>" <<a href="mailto:esha@nyu.edu" class="">esha@nyu.edu</a>>, Archivesspace Users Group <<a href="mailto:archivesspace_users_group@lyralists.lyrasis.org" class="">archivesspace_users_group@lyralists.lyrasis.org</a>></div>
<div class="">Date:  Tuesday, February 9, 2016 at 8:04 PM</div>
<div class="">To:  "<a href="mailto:archivesspace_users_group@lyralists.lyrasis.org" class="">archivesspace_users_group@lyralists.lyrasis.org</a>" <<a href="mailto:archivesspace_users_group@lyralists.lyrasis.org" class="">archivesspace_users_group@lyralists.lyrasis.org</a>></div>
<div class="">Subject:  [Archivesspace_Users_Group] archivesspace newbie questions</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Hi,</div>
<div class=""><br class="">
</div>
<div class="">I'm a developer with NYU's Bobst Library and am new to JRuby and ArchivesSpace. I have to write a plugin and am trying to use pry for stepping through some code. I have done some rails work before and tried to install pry by adding it to the backend/
 Gemfile</div>
<div class="">and then running ./scripts/jruby -S bundle install. The command ran but didn't install pry. I then tried to install it by doing the following:
</div>
<div class="">./scripts/jruby -S gem install pry</div>
<div class="">That installed pry but when I tried to use it in the backend by doing "binding.pry", I got an error saying it's an undefined method. If anyone has pointers as to how to use pry in this environment, I'd really appreciate it. Basically, I'm trying
 to figure</div>
<div class="">out what certain objects have and return in order to write the plugin.</div>
<div class=""><br class="">
</div>
<div class="">Also, I will need to write tests for the plugin. Sorry, if I've missed documentation in how to write tests for the plugin and how to run them. If someone could point me to that, I'd really appreciate it.</div>
<div class=""><br class="">
</div>
<div class="">Thanks for your time.</div>
<div class=""><br class="">
</div>
<div class="">Esha</div>
<div class=""><br class="">
</div>
</div>
_______________________________________________<br class="">
Archivesspace_Users_Group mailing list<br class="">
<a href="mailto:Archivesspace_Users_Group@lyralists.lyrasis.org" class="">Archivesspace_Users_Group@lyralists.lyrasis.org</a><br class="">
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<br class="">
</div>
</blockquote>
</div>
<br class="">
</body>
</html>