Ho un'estensione Buildr che sto confezionando come un gioiello. Ho una collezione di script che voglio aggiungere a un pacchetto. Attualmente, ho questi script memorizzati come un grande blocco di testo che sto scrivendo per file. Preferirei avere singoli file che posso copiare direttamente o leggere/scrivere di nuovo. Vorrei che questi file fossero impacchettati nella gemma. Non ho problemi a confezionarli (basta inserirli nel file system prima del rake install
) ma non riesco a capire come accedervi. Esiste un tipo di pacchetto Gem Resources?Accesso ai file impacchettati in Ruby Gem
8
A
risposta
16
Ci sono fondamentalmente due modi,
1) È possibile caricare le risorse relative a un file Ruby in vostro gioiello utilizzando __FILE__
:
def path_to_resources
File.join(File.dirname(File.expand_path(__FILE__)), '../path/to/resources')
end
2) È possibile aggiungere i percorsi arbitrari dal Gem al $LOAD_PATH
variabile e poi a piedi il $LOAD_PATH
per trovare le risorse, ad esempio,
Gem::Specification.new do |spec|
spec.name = 'the-name-of-your-gem'
spec.version ='0.0.1'
# this is important - it specifies which files to include in the gem.
spec.files = Dir.glob("lib/**/*") + %w{History.txt Manifest.txt} +
Dir.glob("path/to/resources/**/*")
# If you have resources in other directories than 'lib'
spec.require_paths << 'path/to/resources'
# optional, but useful to your users
spec.summary = "A more longwinded description of your gem"
spec.author = 'Your Name'
spec.email = '[email protected]'
spec.homepage = 'http://www.yourpage.com'
# you did document with RDoc, right?
spec.has_rdoc = true
# if you have any dependencies on other gems, list them thusly
spec.add_dependency('hpricot')
spec.add_dependency('log4r', '>= 1.0.5')
end
e poi,
$LOAD_PATH.each { |dir| ... look for resources relative to dir ... }
Problemi correlati
- 1. accesso ai metodi protetti in Ruby
- 2. Accesso ai file negato
- 3. Ruby Gem - LoadError
- 4. Accesso ai file di risorse in Android
- 5. MS SQL Ruby Gem
- 6. Accesso al file crittografato pgp in Ruby
- 7. Ruby gem mysql2 installa errore
- 8. Ruby apns gem restituisce nil
- 9. Ruby gem mysql2 installazione fallita
- 10. Accesso casuale ai file compressi con gzip?
- 11. Accesso ai file utilizzando Build Action: Content
- 12. Accesso ai file nella cache distribuita hadoop
- 13. Windows Phone 8: accesso ai file multimediali
- 14. Come gestisco gli array di ruby in ruby ffi gem?
- 15. Imposta regola di accesso ai file
- 16. Ruby gem installa e "Nessun file da caricare"
- 17. accesso ai dati in DDD?
- 18. Ruby gem LoadError - rubygems/default/operating_system
- 19. Accesso ai file all'interno del file di espansione obb
- 20. accesso ai file in un'app osx sandbox con swift
- 21. Accesso simultaneo ai file in nfsv4 linux c
- 22. Accesso ai dati recuperati
- 23. Accesso ai campi associati ai membri statici
- 24. Come funziona Ruby Gem in un ambiente di rotaie
- 25. Accesso ai metadati PNG
- 26. Accesso ai campi privati
- 27. Ruby client websocket per websocket-rails gem
- 28. Risposta ai tweet sulla cronologia con twitter gem
- 29. Installare ruby gem globalmente dal repository github
- 30. Accesso alle variabili dai file inclusi in Ruby
Primo uno ha funzionato come un fascino. :) – Drew
Utilizzare Gem.data_dir per trovare il percorso corretto. – ch2500