steviebraga Posted October 13, 2014 Posted October 13, 2014 (edited) Hi guys, I'm trying to create one workflow using a script filter with ruby. When i put everything in alfred script box it works fine, but i'd like to keep thing organized, so I tried to create 3 separate files, that are placed in workflow folder, and then use alfred script box just to call the methods defined in this files. Something like this: require_relative "file1" require_relative "file2" require_relative "file3" ... puts some_method(param) But when I do this, I get this exception: [ERROR: alfred.workflow.input.scriptfilter] Code 1: -e:1:in `require_relative': cannot infer basepath (LoadError) from -e:1:in `<main>' So, is it possible to do something like this. If yes, how? Thanks! Edited October 13, 2014 by steviebraga
jdfwarrior Posted October 14, 2014 Posted October 14, 2014 Hi guys, I'm trying to create one workflow using a script filter with ruby. When i put everything in alfred script box it works fine, but i'd like to keep thing organized, so I tried to create 3 separate files, that are placed in workflow folder, and then use alfred script box just to call the methods defined in this files. Something like this: require_relative "file1" require_relative "file2" require_relative "file3" ... puts some_method(param) But when I do this, I get this exception: [ERROR: alfred.workflow.input.scriptfilter] Code 1: -e:1:in `require_relative': cannot infer basepath (LoadError) from -e:1:in `<main>' So, is it possible to do something like this. If yes, how? Thanks! Within the script box, a require would typically work normally for files located within the workflow directory. I'm not sure with the require_relative. Have you tried a regular "require"? I would think require_relative would work as well but can't say for sure
steviebraga Posted October 14, 2014 Author Posted October 14, 2014 (edited) When I tried the regular require, I got this error: [ERROR: alfred.workflow.input.scriptfilter] Code 1: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cpf (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from -e:1:in `<main>' But googling overnight, I found a solution: instead of using require, I used load and everything is working now! load "cpf.rb" Thanks for your time! Edited October 14, 2014 by steviebraga
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now