ooze-parser 0.1.12 → 0.1.14

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a67c203d84a3a2890d20f2a2c7da655bc7fb521a8c92f7101b882535800ba92
4
- data.tar.gz: 999a154e5ff6088ce1e022496087b5012c90ca25937432c9b1951eeb91bb83de
3
+ metadata.gz: 1ba65cc37a12f1692dc438dcefa212b6d410103b9d896c1d39056b9ea8dd9a2a
4
+ data.tar.gz: eb7b9d11b5c4be816c3a41684e57cdd27ec00a0bd299b3fa9af965d543d5680d
5
5
  SHA512:
6
- metadata.gz: 7563820fe8469c75f646fbd88883a308e8f000cb14b57fc23dbaa18b1dd81122ba3d9eb6d167610b01a215e9b3cde26524d41fa65621817a3d2f1a176ecea736
7
- data.tar.gz: 334f759ba653339d2c1001fd759ff6d8f699b70f9b73fc214d785804bc9e74fc19ef6beb87d2ce6955c7629903a138d3119d609a0f7ef7c77af1ae1b364d6e5b
6
+ metadata.gz: 053fc9a36e2ae7e25cea3c61d1ec2999d233d12b2cf521e99f827b320fa9bd460ba97e8f40ee094742a0943ea7e62a6fb364d7b02fdaeaf170fabe3ad5db107c
7
+ data.tar.gz: 183e9eaf1ddad687457953137604a74f5d8cf407300355b3a5d7a874aae84114adf8daae26e3ba11ff2117f8bedc24af96f726831a0fbee192c8f3ff56a3c1e9
@@ -15,9 +15,10 @@ module Ooz
15
15
  class Select
16
16
  class << self
17
17
  # Merges options in `more` into `master` options
18
+ # @note it prevents douplicated values by keeping existing option values
19
+ # in `master.options`
18
20
  # @param master [Ooz::Model::Field::Select]
19
21
  # @param more [Ooz::Model::Field::Select, Array<Hash>]
20
- # @note it prevents douplicated values
21
22
  def merge_options(master, more, silent: false) # rubocop:disable Metrics/AbcSize
22
23
  if !master.is_a?(Ooz::Model::Field::Select)
23
24
  msg = "Expecting 'master' to be Ooz::Model::Field::Select. Given: #{master.class}"
@@ -3,6 +3,18 @@ module Ooz
3
3
  class Field
4
4
  class Select
5
5
  class Option < Base::Model
6
+ class << self
7
+ def other_option_doc
8
+ {
9
+ '_id' => 'other_optionffffffffffff',
10
+ '_type' => 'Enzyme::Membrane::Select::Option',
11
+ 'weight' => 500,
12
+ 'name' => 'Other',
13
+ 'value' => 'other'
14
+ }
15
+ end
16
+ end
17
+
6
18
  def field
7
19
  root
8
20
  end
@@ -21,6 +21,19 @@ module Ooz
21
21
  options.each(&:clear)
22
22
  super
23
23
  end
24
+
25
+ def explicit_other_option!
26
+ merge_options([select_option.other_option_doc])
27
+ end
28
+
29
+ def merge_options(fld_or_options, silent: true)
30
+ self.multiple ||= fld_or_options.multiple if fld_or_options.is_a?(Ooz::Base::Field::Select)
31
+ self.class.merge_options(
32
+ self,
33
+ fld_or_options,
34
+ silent: silent
35
+ )
36
+ end
24
37
  end
25
38
  end
26
39
  end
data/lib/ooz/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ooz
2
- VERSION = '0.1.12'.freeze
2
+ VERSION = '0.1.14'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ooze-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-22 00:00:00.000000000 Z
11
+ date: 2025-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec