mbt-gen 0.0.14 → 0.0.14.1

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 +14 -3
  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: b5c54288ab2aa997c537744ff1888959c3b7b44ef923d16af13c09cb96609434
4
+ data.tar.gz: f727661444b8763cbb7e60ba4c371af16af49cd64bb9e0f4e399e01d0c077cd3
5
5
  SHA512:
6
- metadata.gz: e14470e1741ccc1dfede14112f045bb952f42afbb4c8d55af8ac42bcf4517ae4de9fe0fedd6b3296c3a51651665c8d2d3a996e51fa7be892e7a9dea6890d28c7
7
- data.tar.gz: 6e723168766e1dc4414e9e25344e9a3f2abc4b6704e5d25bb85e19c20b9f933b37deea1fa904f2954689151a4db3b41a6c427856ce5534e10473540a43ed6fd4
6
+ metadata.gz: 5eb552c215e7e9b97db03dadb8964454c5720c41be7272da5ddb5a2409aeec593a84716581d27fbdda1921a6675935d5df1e8ee800532dfac290d22c945b9d68
7
+ data.tar.gz: 6b169b1aa47ca5ae869bb1985839e77545e50a1f087a78ef0dd00c58d688c324dae41645aca6d573a1b51949ebb6de8c3d076582240a18460955de42bf3eb6de
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
+ else if 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,7 +974,7 @@ 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
977
+ if model_value_to_int(model_value[:size]) > 0 then
968
978
  model_value[:value].slice(0, Integer(model_value[:size], 10)).each do |mvalue|
969
979
  node.add_child("<#{xpath_element}>#{solver_value_to_string(mvalue)}</#{xpath_element}>")
970
980
  end
@@ -975,8 +985,9 @@ def add_model_struct_to_doc(progress, struct, doc, model, prefix = nil)
975
985
  node = node.first
976
986
  end
977
987
  xpath_element = value[:xpath_element]
978
- if Integer(model_value[:size], 10) > 0 then
979
- model_value[:size].times do |index|
988
+ size = model_value_to_int(model_value[:size])
989
+ if size > 0 then
990
+ size.times do |index|
980
991
  cnode = node.add_child("<#{xpath_element}></#{xpath_element}>")
981
992
  if cnode.is_a?(Nokogiri::XML::NodeSet) then
982
993
  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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - FM-enthusiast