ecoportal-api-v2 0.8.16 → 0.8.20

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: 4655b94325aaad222aabf7ec6376aa4e0be39f03db94338ceab8fcd77dca229b
4
- data.tar.gz: af7d89a41346d634dce2acea3c689e0f823b9ec85f68d662807939c2222e843d
3
+ metadata.gz: dcd685a294969e210f94f8b8728fec32a94372d349064e14f9a59e24429b7753
4
+ data.tar.gz: d1c8b4ddf1bcd9b3ac2203c6f1bb293aafcfc6de1d58dde79c7b425c87fe444b
5
5
  SHA512:
6
- metadata.gz: a749ce7f98f2765c133d662c4257ba7f3bac24fb2b35a369f8e060dc97ff5ccd13a5c91be65fb004f3de31c98b3559eb4f91fdf6fb15e71d178004e66c407ac8
7
- data.tar.gz: 454fc8004933d15357f0e4dc0e5d7e923b42876bb049cad72ea58a8b32a0b3246a3316c8fad05df22d16fa4c87296a9e8bdbda0932a73f7cad8e16ae4b386a41
6
+ metadata.gz: 145593ad0fe8adf038c9565bafdeee1497e13ed165c45f8a40572463ff9fffb2bcb3eec8834595eab7b89efc6274ca9c1352ff7dd043ec6c632bdff8a01a2793
7
+ data.tar.gz: 7b8bbb9a4ef83eb033005f5898254f4d67d1fd5e095453f111a4fe350e9ff30236bf0effc4a79c36edf72519a305f1f9596a5ac61dc99a0bdc06a2b5f74b7e1b
data/CHANGELOG.md CHANGED
@@ -1,12 +1,39 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [0.8.16] - 2021-09-xx
4
+ ## [0.8.20] - 2021-10-xx
5
5
 
6
6
  ### Added
7
7
  ### Changed
8
+ - `Ecoportal::API::V2::Pages::PageStage#permits` removed
9
+ - The reason is that it should be changed using the `Stage#permits` instead
10
+ - Upgraded `ecoportal-api` gem dependency
11
+
8
12
  ### Fixed
13
+ - `Ecoportal::API::V2::Page::Stage#sections` typo
9
14
 
15
+ ## [0.8.19] - 2021-09-29
16
+
17
+ ### Changed
18
+ - Moved validation of components multi-section from `PageStage` to `Page`
19
+ - Removed validation from `PageStage#as_update`
20
+ - This means that the validation will not run natively, but in the client lib
21
+
22
+ ### Fixed
23
+ - `Ecoportal::V2::Page::Stage#section?` fixed typo
24
+ - `Ecoportal::V2::Page::Stage`
25
+ - `#attached?` added missing code
26
+ - `#component?` fixed typo
27
+
28
+ ## [0.8.18] - 2021-09-29
29
+
30
+ ### Fixed
31
+ - typo in `PageStage#validate`
32
+
33
+ ## [0.8.17] - 2021-09-29
34
+
35
+ ### Fixed
36
+ - Typo in `Section#attached?`
10
37
 
11
38
  ## [0.8.15] - 2021-09-29
12
39
 
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency "redcarpet", ">= 3.5.1", "< 3.6"
30
30
  spec.add_development_dependency "pry" , ">= 0.14"
31
31
 
32
- spec.add_dependency 'ecoportal-api', '>= 0.8.3', '< 0.9'
32
+ spec.add_dependency 'ecoportal-api', '>= 0.8.4', '< 0.9'
33
33
  end
@@ -110,7 +110,7 @@ module Ecoportal
110
110
  # Looks up the section that this component belongs to.
111
111
  # @return [Ecoportal::API::V2::Page::Section, nil] the section where this field is attached to.
112
112
  def section
113
- root.sections.find {|sec| sec.component?(id)}
113
+ ooze.sections.find {|sec| sec.component?(id)}
114
114
  end
115
115
 
116
116
  # @return [Boolean] whether or not this field is attached to any section.
@@ -45,7 +45,7 @@ module Ecoportal
45
45
 
46
46
  # @return [Boolean] whether or not the section appears in an ooze instance
47
47
  def attached?
48
- !ooze.stages? || stages.any?
48
+ !ooze.stages? || stages.any? {|stg| stg.section?(self)}
49
49
  end
50
50
 
51
51
  # @return [Boolean] whether or not this section is a split section
@@ -67,7 +67,7 @@ module Ecoportal
67
67
  when Ecoportal::API::V2::Page::Component
68
68
  component?(com_or_id.id)
69
69
  when String
70
- all_component_ids.include?(id)
70
+ all_component_ids.include?(com_or_id)
71
71
  else
72
72
  msg = "Missuse: com_or_id should be a Component or a String. Given: #{com_or_id.class}"
73
73
  raise ArgumentError.new(msg)
@@ -28,7 +28,7 @@ module Ecoportal
28
28
  sec_ids = section_ids.to_a
29
29
  root.sections.values_at(*sec_ids).select.with_index do |sec, i|
30
30
  puts "Warning: section #{id} points to missing section #{sec_ids[i]}" if !sec
31
- fld && (!block_given? || yield(sec))
31
+ sec && (!block_given? || yield(sec))
32
32
  end.sort_by.with_index {|sec, index| [sec.weight, index]}
33
33
  end
34
34
 
@@ -41,7 +41,7 @@ module Ecoportal
41
41
  when Ecoportal::API::V2::Page::Section
42
42
  section?(sec_or_id.id)
43
43
  when String
44
- self.section_ids.include?(id)
44
+ self.section_ids.include?(sec_or_id)
45
45
  else
46
46
  raise ArgumentError.new("sec_or_id must be either a Section or a String. Given: #{sec_or_id.class}")
47
47
  end
@@ -54,6 +54,20 @@ module Ecoportal
54
54
  self.stages.count > 0
55
55
  end
56
56
 
57
+ # @return [String] with feedback, if for this page instance, there are any of:
58
+ # 1. components multi-section (fields belonging to more than one section)
59
+ def validate
60
+ msg = ""
61
+ if (multi = components.multi_section).length > 0
62
+ msg += "There are fields attached to more than one section:\n • "
63
+ msg += multi.map do |fld|
64
+ fld.label
65
+ end.join("\n • ") + "\n"
66
+ end
67
+
68
+ msg.empty?? true : msg
69
+ end
70
+
57
71
  private
58
72
 
59
73
  def _doc_bug_fix(hash)
@@ -7,7 +7,7 @@ module Ecoportal
7
7
  passthrough :task_priority, :state, :status
8
8
  passthrough :votes_enabled, :upvotes, :downvotes
9
9
 
10
- embeds_many :permits, klass: "Ecoportal::API::V2::Page::Permit"
10
+ #embeds_many :permits, klass: "Ecoportal::API::V2::Page::Permit"
11
11
  passarray :force_errors, :subtags, order_matters: false
12
12
 
13
13
  # @return [String] `id` of the stage we got the data of.
@@ -22,39 +22,25 @@ module Ecoportal
22
22
  end
23
23
  end
24
24
 
25
- # @raise [Exception] if for this page instance, there are any of:
25
+ # @return [String] with feedback, if for this page instance, there are any of:
26
26
  # 1. orphaned components (fields not belonging to any section)
27
- # 2. components multi-section (fields belonging to more than one section)
28
- # 3. orphaned sections (sections not belonging to any stage)
29
- def as_update(*args, **kargs)
30
- validate.tap do |validation|
31
- raise validation if validation.is_a?(String)
32
- end
33
- super(*args, **kargs)
34
- end
35
-
36
- private
37
-
27
+ # 2. orphaned sections (sections not belonging to any stage)
38
28
  def validate
39
- msg = ""
40
- if (orphans = components.unattached).length > 0
41
- msg += "There are fields not attached to any sections:"
42
- msg += orphans.map do |fld|
43
- fld.label
44
- end.join("\n • ") + "\n"
45
- end
29
+ msg = super
30
+ msg = "" unless msg.is_a?(String)
46
31
 
47
- if (multi = components.multi_section).length > 0
48
- msg += "There are fields attached to more than one section:"
32
+ orphans = components.unattached.select {|comp| comp.global_binding.to_s.strip.empty?}
33
+ if orphans.length > 0
34
+ msg += "There are fields not attached to any sections:\n • "
49
35
  msg += orphans.map do |fld|
50
36
  fld.label
51
37
  end.join("\n • ") + "\n"
52
38
  end
53
39
 
54
40
  if (orphans = sections.unattached).length > 0
55
- msg += "There are sections not attached to any stage:"
41
+ msg += "There are sections not attached to any stage:\n • "
56
42
  msg += orphans.map do |sec|
57
- "'#{sec.header}' (#{sec.id})"
43
+ "'#{sec.heading}' (#{sec.id})"
58
44
  end.join("\n • ") + "\n"
59
45
  end
60
46
  msg.empty?? true : msg
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GEM2_VERSION = "0.8.16"
3
+ GEM2_VERSION = "0.8.20"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.16
4
+ version: 0.8.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-28 00:00:00.000000000 Z
11
+ date: 2021-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -130,7 +130,7 @@ dependencies:
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 0.8.3
133
+ version: 0.8.4
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0.9'
@@ -140,7 +140,7 @@ dependencies:
140
140
  requirements:
141
141
  - - ">="
142
142
  - !ruby/object:Gem::Version
143
- version: 0.8.3
143
+ version: 0.8.4
144
144
  - - "<"
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0.9'