Class: Filebase::YAML
- Inherits:
-
Object
- Object
- Filebase::YAML
- Defined in:
- lib/drivers/yaml.rb
Instance Method Summary collapse
- #all ⇒ Object
- #delete(key) ⇒ Object
- #find(key) ⇒ Object
-
#initialize(root) ⇒ YAML
constructor
A new instance of YAML.
- #path(key) ⇒ Object
- #save(key, object) ⇒ Object
Constructor Details
Instance Method Details
#all ⇒ Object
15 16 17 |
# File 'lib/drivers/yaml.rb', line 15 def all Dir[ path('*') ].map { |file| find( File.basename(file,'.yml' ) ) }.compact end |
#delete(key) ⇒ Object
29 30 31 |
# File 'lib/drivers/yaml.rb', line 29 def delete( key ) FileUtils.remove( path( key ) ) end |
#find(key) ⇒ Object
19 20 21 22 23 |
# File 'lib/drivers/yaml.rb', line 19 def find( key ) obj = ::YAML.load( File.read( path( key ) ) ) rescue nil obj['key'] = key if Hash === obj obj or nil # convert false to nil end |
#path(key) ⇒ Object
11 12 13 |
# File 'lib/drivers/yaml.rb', line 11 def path( key ) File.join( @root, key.to_s ) + '.yml' end |
#save(key, object) ⇒ Object
25 26 27 |
# File 'lib/drivers/yaml.rb', line 25 def save( key, object ) File.write( path( key ), object.to_yaml ) and object end |