mxrb 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/docs/de-DE/validation-matrix.md +3 -3
- data/docs/en-US/validation-matrix.md +3 -3
- data/docs/pt-BR/validation-matrix.md +3 -3
- data/lib/mxrb/model/page.rb +131 -2
- data/lib/mxrb/ruby_app/exporter.rb +966 -207
- data/lib/mxrb/ruby_app.rb +9 -1
- data/lib/mxrb/version.rb +1 -1
- metadata +1 -1
data/lib/mxrb/ruby_app.rb
CHANGED
|
@@ -720,6 +720,14 @@ module Mxrb
|
|
|
720
720
|
value = keyword_value if value.nil? && !keyword_value.empty?
|
|
721
721
|
if value.is_a?(Hash) && value['id'] && value['type']
|
|
722
722
|
object = bridge.interpreter.store.find(value['type'].to_s, value['id'].to_s)
|
|
723
|
+
if !object && value['transient'] == true
|
|
724
|
+
object = Runtime::Native::ObjectValue.new(
|
|
725
|
+
entity: value['type'].to_s, id: value['id'].to_s, members: {}
|
|
726
|
+
)
|
|
727
|
+
value.fetch('attributes', {}).each do |member, member_value|
|
|
728
|
+
object.members[member.to_s] = deserialize(member_value, context:, synchronize:)
|
|
729
|
+
end
|
|
730
|
+
end
|
|
723
731
|
raise NativeRuntimeError, "object #{value['type']} #{value['id']} not found" unless object
|
|
724
732
|
|
|
725
733
|
value.fetch('attributes', {}).each do |member, member_value|
|
|
@@ -756,7 +764,7 @@ module Mxrb
|
|
|
756
764
|
authorize_entity!(object.entity, :write, context, member:, record: object)
|
|
757
765
|
object.members[member] = member_value
|
|
758
766
|
end
|
|
759
|
-
store.commit(object) if store.respond_to?(:commit)
|
|
767
|
+
store.commit(object) if value['transient'] != true && store.respond_to?(:commit)
|
|
760
768
|
object
|
|
761
769
|
end
|
|
762
770
|
return apply.call unless store.respond_to?(:transaction)
|
data/lib/mxrb/version.rb
CHANGED