class ViewModel::ActiveRecord::ReferencedCollectionUpdate::Parser
Public Instance Methods
append_action_schema()
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 347 def append_action_schema UpdateData::Schemas::REFERENCED_APPEND_ACTION end
functional_update_schema()
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 343 def functional_update_schema UpdateData::Schemas::REFERENCED_COLLECTION_UPDATE end
parse_contents(values)
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 359 def parse_contents(values) invalid_entries = values.reject { |h| ref_hash?(h) } if invalid_entries.present? raise ViewModel::DeserializationError::InvalidSyntax.new( "Appended/Updated entities must be specified as '#{ViewModel::REFERENCE_ATTRIBUTE}' style hashes." \ "Invalid entries: #{invalid_entries}", blame_reference) end values.map do |x| ref = ViewModel.extract_reference_metadata(x) unless valid_reference_keys.include?(ref) raise ViewModel::DeserializationError::InvalidSharedReference.new(ref, blame_reference) end ref end end
remove_action_schema()
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 351 def remove_action_schema UpdateData::Schemas::REFERENCED_REMOVE_ACTION end
update_action_schema()
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 355 def update_action_schema UpdateData::Schemas::REFERENCED_UPDATE_ACTION end
Private Instance Methods
functional_update_type()
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 385 def functional_update_type Functional end
ref_hash?(value)
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 389 def ref_hash?(value) value.size == 1 && value.has_key?(ViewModel::REFERENCE_ATTRIBUTE) end
replace_update_type()
click to toggle source
# File lib/view_model/active_record/update_data.rb, line 381 def replace_update_type Replace end