Я нахожусь на машине Linux, на которой у меня нет прав root. Я хочу установить некоторые пакеты через CPAN в свой домашний каталог, чтобы при запуске Perl он мог их видеть.
Я запустил cpan
, который запросил некоторые параметры конфигурации. Он запросил какой-то каталог, который он предложил ~ / perl
«для пользователей без полномочий root». Тем не менее, когда я пытаюсь установить пакет, он терпит неудачу на этапе make install
, потому что у меня нет доступа на запись в / usr / lib / perl5 / something
.
Мне нужно что-то вроде пустого прицела. Это означает, что эта область пуста, но реагирует на все методы, на которые она обычно реагирует.
В настоящее время я использую небольшой грязный прием. Я ...
Следующая задача:
Мне нужно что-то вроде пустого прицела. Это означает, что эта область пуста, но реагирует на все методы, на которые она обычно реагирует.
В настоящее время я использую небольшой грязный прием. Я просто указываю «1 = 0» в качестве условий. Я нахожу это действительно уродливым, поскольку оно попадает в базу данных. Простое возвращение пустого массива не сработает, поскольку результат должен соответствовать методам с заданной областью действия.
Есть ли лучшее существующее решение для этого, или мне нужно будет написать его самому?
Может быть, какой-нибудь пример кода может помочь объяснить что мне нужно:
class User < ActiveRecord::Base
named_scope :admins, :conditions => {:admin => true }
named_scope :none_dirty, :conditions => "1=0" # this scope is always empty
def none_broken
[]
end
def self.sum_score # okay, a bit simple, but a method like this should work!
total = 0
self.all.each do |user|
total += user.score
end
return total
end
end
User.admin.sum_score # the score i want to know
User.none_drity.sum_score # works, but hits the db
User.none_broken.sum_score # ...error, since it doesn't respond to sum_score