class IocRb::Scopes::SingletonScope
Singleton scope returns the same bean instance on each call
Public Class Methods
new(bean_factory)
click to toggle source
Constructon @param bean_factory bean factory
# File lib/ioc_rb/scopes/singleton_scope.rb, line 7 def initialize(bean_factory) @beans = {} @bean_factory = bean_factory end
Public Instance Methods
delete_bean(bean_metadata)
click to toggle source
Delete bean from scope @param bean_metadata [BeanMetadata] bean metadata
# File lib/ioc_rb/scopes/singleton_scope.rb, line 26 def delete_bean(bean_metadata) @beans.delete(bean_metadata.name) end
get_bean(bean_metadata)
click to toggle source
Returns the same bean instance on each call @param bean_metadata [BeanMetadata] bean metadata @returns bean instance
# File lib/ioc_rb/scopes/singleton_scope.rb, line 16 def get_bean(bean_metadata) if bean = @beans[bean_metadata.name] bean else @bean_factory.create_bean_and_save(bean_metadata, @beans) end end