我正在使用珠宝商为Rails 3创建一个宝石.宝石包含一个rake任务,其中一件事就是擦除数据库,所以我使用'database_cleaner'.
我在gem的Gemfile中指定了gem依赖项
gem 'database_cleaner'
Run Code Online (Sandbox Code Playgroud)
并在Rakefile中
Jeweler::Tasks.new do |gem|
...
gem.add_dependency 'database_cleaner'
end
Run Code Online (Sandbox Code Playgroud)
然后在lib里面我创建了文件my_gem.rb和tasks.rake.如下,my_gem.rb:
module MyGem
class Railtie < Rails::Railtie
rake_tasks do
load 'tasks.rake'
end
end
end
Run Code Online (Sandbox Code Playgroud)
和tasks.rake:
task :my_task do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean
end
Run Code Online (Sandbox Code Playgroud)
我安装了gem(sudo rake install),创建了一个空的rails项目,并在rails的Gemspec(gem 'my_gem'
)中添加了gem依赖项.但是当我尝试运行时,rake my_task
我得到了错误uninitialized constant DatabaseCleaner
.
我也尝试require 'database_cleaner'
从任务内部添加,这会引发错误no such file to load -- database_cleaner
并gem 'database_cleaner'
引发错误database_cleaner is not part of the bundle. Add it to Gemfile.
.
有没有办法解决这个问题,而无需添加gem 'database_cleaner'
到rails项目的Gemspec? …
我一直在尝试使用Python库来访问Google Sites API.
第一步要求用户授权我们的应用程序,他们建议使用OAuth2,并提供可在此处找到的库.
在授权过程结束时,您最终会得到一个OAuth2Credentials对象.
问题是,当我尝试向Google Sites API发出请求时,我想说:
import gdata.sites.client
client = gdata.sites.client.SitesClient(site=None, domain='mydomain.com')
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用OAuth2Credentials对象.