mbt-gen 0.0.14 → 0.0.14.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mbt-gen.rb +16 -4
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4dab888f896a820078b818a69beb6c96832509be151437332a64efe493c99c43
4
- data.tar.gz: 7bb0d5281265df6171e316c4c5cf5b2f6ef909bee7549cb6213c3d61e79c46fe
3
+ metadata.gz: 3176e95c2bc110640523d69ff0c4cfea0f8e9bb88b4548589c63538c880d6780
4
+ data.tar.gz: bc0ebcde2d51db9ab014af418f7d802fc0cba82b94a4bc8b4d416210f793fd43
5
5
  SHA512:
6
- metadata.gz: e14470e1741ccc1dfede14112f045bb952f42afbb4c8d55af8ac42bcf4517ae4de9fe0fedd6b3296c3a51651665c8d2d3a996e51fa7be892e7a9dea6890d28c7
7
- data.tar.gz: 6e723168766e1dc4414e9e25344e9a3f2abc4b6704e5d25bb85e19c20b9f933b37deea1fa904f2954689151a4db3b41a6c427856ce5534e10473540a43ed6fd4
6
+ metadata.gz: 27b59f856e37fcb50ceee1cf3c75868c15ca337325ce4900a078aa26bc06dac2376f0a683575bb86b5da21f6c57a2dbb59652c8967f664ea0d78a1bf215d69cc
7
+ data.tar.gz: 074aadce686f0d9af3fd6b6bf281e821dc3d8634f53d5ddba1545919453612440beb31e054f725c3562ce3cd46c70ed13e589aeb54d6bda64a6107f243f5c6a3
data/lib/mbt-gen.rb CHANGED
@@ -941,6 +941,16 @@ def build_document_from_model(progress, struct, model)
941
941
  return doc
942
942
  end
943
943
 
944
+ def model_value_to_int(model_value)
945
+ if model_value.is_a?(Integer) then
946
+ model_value
947
+ elsif model_value.is_a?(String) then
948
+ Integer(model_value, 10)
949
+ else
950
+ raise RuntimeError.new("Don't know how to cast this model value into an int: #{model_value.inspect}")
951
+ end
952
+ end
953
+
944
954
  def add_model_struct_to_doc(progress, struct, doc, model, prefix = nil)
945
955
  struct.each do |key, value|
946
956
  next if key == :validation_rules || key == :predicates || key == :parent_link || key == :struct_xpath_prefix || key == :additional_smtlib
@@ -964,8 +974,9 @@ def add_model_struct_to_doc(progress, struct, doc, model, prefix = nil)
964
974
  node = node.first
965
975
  end
966
976
  xpath_element = value[:xpath_element]
967
- if Integer(model_value[:size], 10) > 0 then
968
- model_value[:value].slice(0, Integer(model_value[:size], 10)).each do |mvalue|
977
+ size = model_value_to_int(model_value[:size])
978
+ if size > 0 then
979
+ model_value[:value].slice(0, size).each do |mvalue|
969
980
  node.add_child("<#{xpath_element}>#{solver_value_to_string(mvalue)}</#{xpath_element}>")
970
981
  end
971
982
  end
@@ -975,8 +986,9 @@ def add_model_struct_to_doc(progress, struct, doc, model, prefix = nil)
975
986
  node = node.first
976
987
  end
977
988
  xpath_element = value[:xpath_element]
978
- if Integer(model_value[:size], 10) > 0 then
979
- model_value[:size].times do |index|
989
+ size = model_value_to_int(model_value[:size])
990
+ if size > 0 then
991
+ size.times do |index|
980
992
  cnode = node.add_child("<#{xpath_element}></#{xpath_element}>")
981
993
  if cnode.is_a?(Nokogiri::XML::NodeSet) then
982
994
  cnode = cnode.first
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mbt-gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - FM-enthusiast