Configuratie-opties in edelstenen gebruikt in rails 3

Ik werk met een ruby Gem die toegang heeft tot een openbare API via een configureerbare URL. Ik wil een standaardwaarde in het juweel hebben ingebouwd, maar de mogelijkheid om dat als een configuratie- of runtime-optie te overschrijven in een Rails 3-app die het juweel gebruikt. Wat is de beste manier om dat te doen?

1

1 antwoord

U kunt de configuratiewaarde als een eigenschap op class-niveau weergeven. Als u bijvoorbeeld MyConfigurableGem zou ontwikkelen, zou dat kunnen

def self.my_database_preference=
  #set override some default. 
end

En als uw gebruiker met een rails-app werkte, kunt u voorstellen dat er een bestand-app/config/configurable_gem_override.rb is met de volgende

MyConfigurableGem.my_database_preference = "sqlite3" 

beantwoordt dat jouw vraag?

0
toegevoegd
Ja, dat is precies wat ik zocht.
toegevoegd de auteur Rourke, de bron