这可能是一种错误的方法,但我试图找到一种方法来重新实例化Retrofit \ OkHttpClient
注释@Singleton
的基础SharedPreferences
。
用例是在第一个应用程序启动时,它将具有不同的URL。然后在登录和连续启动后,它将使用@Module
public class NetModule {
@Provides
@Singleton
WrapperClass providesAPI() {
// underlying call with new Retrofit.Builder().client(okHttpClient).baseUrl(url)
return new WrapperClass("someURLToProvision");
}
}
中的URL。看起来像这样
Activity
在 @Inject protected WrapperClass api;
我用
someURLToProvision
配置完成后,我将不再拥有网址SharedPreferences
,而是存储在Singleton
中的实际网址。
问题是:我可以重新实例化SharedPreference
所以它不会采用硬编码的网址,而是来自# Ransackable Scopes
def self.ransackable_scopes(_auth_object = nil)
[:by_title]
end
# My scopes
scope :by_title, ->(search_term) { by_field(search_term, :title) }
scope :by_field, lambda { |search_term, field|
where("#{field}_translations -> :key ILIKE :value", key: :en, value: "%#{search_term}%")
.or(where("#{field}_translations -> :key ILIKE :value", key: :fr, value: "%#{search_term}%"))
.or(where("#{field}_translations -> :key ILIKE :value", key: :de, value: "%#{search_term}%"))
}
的网址吗?