class NRSER::Props::Storage::InstanceVariable
@todo document NRSER::Props::Storage::Key
module.
Constants
- DEFAULT_VAR_NAME
Attributes
sub_storage[R]
TODO document `sub_storage` attribute.
@return [attr_type]
var_name[R]
TODO document `var_name` attribute.
@return [Symbol]
Public Class Methods
new(var_name: DEFAULT_VAR_NAME, sub_storage: @var_name = var_name.to_sym)
click to toggle source
# File lib/nrser/props/storage/instance_variable.rb, line 33 def initialize var_name: DEFAULT_VAR_NAME, sub_storage: @var_name = var_name.to_sym @sub_storage = sub_storage end
Public Instance Methods
get(instance, prop)
click to toggle source
# File lib/nrser/props/storage/instance_variable.rb, line 73 def get instance, prop sub_storage.get instance.instance_variable_get( @var_name ), prop end
immutable?()
click to toggle source
# File lib/nrser/props/storage/instance_variable.rb, line 63 def immutable? sub_storage.immutable? end
init(instance, collection)
click to toggle source
Instance Methods
¶ ↑
# File lib/nrser/props/storage/instance_variable.rb, line 43 def init instance, collection if init? instance raise NRSER::ConflictError.new binding.erb <<~END Already initialized! Instance: <%= instance.pretty_inspect %> Collection: <%= collection.pretty_inspect %> END end instance.instance_variable_set @var_name, collection end
init?(instance)
click to toggle source
# File lib/nrser/props/storage/instance_variable.rb, line 68 def init? instance instance.instance_variable_defined? @var_name end
put(instance, prop, value)
click to toggle source
# File lib/nrser/props/storage/instance_variable.rb, line 78 def put instance, prop, value sub_storage.put \ instance.instance_variable_get( @var_name ), prop, value end