开发者

HTTparty in Rhodes

开发者 https://www.devze.com 2023-02-17 03:33 出处:网络
I am using Rhodes to develop android application. I have i开发者_运维百科nstalled HTTpary gem in Rhodes. Now when I am writing the statement \"require \'httparty\' \" at top of the application it giv

I am using Rhodes to develop android application. I have i开发者_运维百科nstalled HTTpary gem in Rhodes. Now when I am writing the statement "require 'httparty' " at top of the application it gives me error like "No such file to load". What should I do to solve this problem?


From the documentation, scroll down to the section beginning "Adding Ruby Extension Libraries to Your Rhodes Application". It details 3 ways you can include external libraries into your application, summarized below.

  1. Add ruby extension to an individual application
  2. Add ruby library to an individual application
  3. Add ruby library to the Rhodes framework to be built for all applications

The base Rhodes framework only contains things deemed generic enough to be included - so the built application package size can be kept low. Anything not in the base framework can be included in the application through the aforementioned methods.


This is just a guess since w/ Rhodes environment; but if this were a normal ruby script you would need to have require 'rubygems' first (assuming your used rubygems...).


The Motorola documentation is horrendous; allow me to help if I can. Firstly, examine the constant $LOAD_PATHS from your Ruby code to see the entire list of paths that Rhodes searches. Any .rb file in this path is automatically made available to require.

Then you have to decide whether to add this library to the entire Rhodes framework or just your app; personally I opt for one app at a time, because that way it reduces the chances of incompatibilities, and your apps are still provided all the libraries in rhodes-*version/lib/framework

If you want to add a library to your app, the docs suggest plopping it into the directory app/lib, but keep in mind that only this exact path is searched, so if you don't have a .rb file of the same name as your require statement directly under this path, it won't be detected automatically. I mention this because the common structure is a single file with the library name placed directly in lib, and the actual library contents inside a folder of the same name.

Example: the mime-types library is made up of: lib/mime-types.rb and lib/mime/, which are named differently and can lead to exactly this kind of confusion when including in Ruby.

0

精彩评论

暂无评论...
验证码 换一张
取 消