lib/glimmer/data_binding/model_binding.rb in glimmer-2.5.4 vs lib/glimmer/data_binding/model_binding.rb in glimmer-2.5.5

- old
+ new

@@ -73,21 +73,21 @@ # All nested property names # e.g. property name expression "address.state" gives ['address', 'state'] # If there are any indexed property names, this returns indexes as properties. # e.g. property name expression "addresses[1].state" gives ['addresses', '[1]', 'state'] def nested_property_names - @nested_property_names ||= Concurrent::Array.new(property_name_expression.split(/\[|\./).map {|pne| pne.end_with?(']') ? "[#{pne}" : pne }) + @nested_property_names ||= Concurrent::Array.new(property_name_expression.split(/\[|\./).map {|pne| pne.end_with?(']') ? "[#{pne}" : pne }.reject {|pne| pne.empty? }) end # Final nested property name # e.g. property name expression "address.state" gives :state def nested_property_name nested_property_names.last end # Model representing nested property names - # e.g. property name expression "address.state" gives [:address] + # e.g. property name expression "address.state" gives ['address'] def model_property_names Concurrent::Array.new(nested_property_names[0...-1]) end def nested_property? @@ -135,10 +135,10 @@ converted_value = evaluate_property observer.call(converted_value).tap do apply_processor(@binding_options[:after_read], converted_value) end end - observer_registration = model_binding_observer.observe(*[model, property_name, observation_options].compact) + observer_registration = model_binding_observer.observe(*([model] + [property_name, observation_options].compact)) my_registration = observer.registration_for(self) observer.add_dependent(my_registration => observer_registration) end end