Module: Kernel
- Defined in:
- lib/aws/s3/extensions.rb
Instance Method Summary collapse
- #__method__(depth = 0) ⇒ Object
- #memoize(reload = false, storage = nil) ⇒ Object
- #require_library_or_gem(library) ⇒ Object
Instance Method Details
#__method__(depth = 0) ⇒ Object
56 57 58 |
# File 'lib/aws/s3/extensions.rb', line 56 def __method__(depth = 0) caller[depth][/`([^']+)'/, 1] end |
#memoize(reload = false, storage = nil) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/aws/s3/extensions.rb', line 60 def memoize(reload = false, storage = nil) storage = "@#{storage || __method__(1)}" if reload instance_variable_set(storage, nil) else if cache = instance_variable_get(storage) return cache end end instance_variable_set(storage, yield) end |
#require_library_or_gem(library) ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/aws/s3/extensions.rb', line 72 def require_library_or_gem(library) require library rescue LoadError => library_not_installed begin require 'rubygems' require library rescue LoadError raise library_not_installed end end |