hdo-storting-importer 0.1.7 → 0.1.8

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.
@@ -8,7 +8,7 @@ module Hdo
8
8
  include HasJsonSchema
9
9
  include IvarEquality
10
10
 
11
- attr_reader :external_id, :party, :body, :general, :categories, :source, :page, :date
11
+ attr_reader :external_id, :parties, :body, :general, :categories, :source, :page, :date
12
12
  alias_method :general?, :general
13
13
  alias_method :short_inspect, :inspect
14
14
 
@@ -17,7 +17,7 @@ module Hdo
17
17
  def self.example
18
18
  new(
19
19
  "1",
20
- "H",
20
+ ["H"],
21
21
  "Stille strengere krav til orden og oppførsel for å hindre at uro ødelegger undervisningen.",
22
22
  true,
23
23
  ["GRUNNSKOLE"],
@@ -45,7 +45,7 @@ module Hdo
45
45
 
46
46
  external_id = data.fetch(0).to_i.to_s
47
47
  date = data.fetch(1)
48
- party = data.fetch(2)
48
+ parties = data.fetch(2)
49
49
  body = data.fetch(3)
50
50
  general = data.fetch(4).to_s.strip.downcase
51
51
  categories = data.fetch(5)
@@ -62,8 +62,8 @@ module Hdo
62
62
  next
63
63
  end
64
64
 
65
- unless party
66
- errors << "row #{external_id}: party missing"
65
+ unless parties
66
+ errors << "row #{external_id}: parties missing"
67
67
  next
68
68
  end
69
69
 
@@ -72,7 +72,7 @@ module Hdo
72
72
  end
73
73
 
74
74
  promise = new external_id,
75
- party.strip,
75
+ parties.strip,
76
76
  body.strip,
77
77
  general.downcase == "ja",
78
78
  categories,
@@ -91,7 +91,8 @@ module Hdo
91
91
  }.compact
92
92
 
93
93
  if errors.any?
94
- raise "found errors:\n#{errors.join("\n")}"
94
+ puts errors
95
+ # raise "found errors:\n#{errors.join("\n")}"
95
96
  end
96
97
 
97
98
  promises
@@ -99,7 +100,7 @@ module Hdo
99
100
 
100
101
  def self.from_hash(hash)
101
102
  pr = new hash['externalId'],
102
- hash['party'],
103
+ hash['parties'],
103
104
  hash['body'],
104
105
  hash['general'],
105
106
  hash['categories'],
@@ -110,12 +111,12 @@ module Hdo
110
111
  pr
111
112
  end
112
113
 
113
- def initialize(external_id, party, body, general, categories, source, page, date)
114
+ def initialize(external_id, parties, body, general, categories, source, page, date)
114
115
  @external_id = external_id
115
- @party = strip_if_string(party)
116
+ @parties = clean_array(parties)
116
117
  @body = strip_if_string(body)
117
118
  @general = general
118
- @categories = clean_categories(categories)
119
+ @categories = clean_array(categories).map { |e| UnicodeUtils.upcase(e) }
119
120
  @source = strip_if_string(source)
120
121
  @page = page
121
122
  @date = date
@@ -125,7 +126,7 @@ module Hdo
125
126
  {
126
127
  'kind' => self.class.kind,
127
128
  'externalId' => @external_id,
128
- 'party' => @party,
129
+ 'parties' => @parties,
129
130
  'general' => @general,
130
131
  'categories' => @categories,
131
132
  'source' => @source,
@@ -137,12 +138,9 @@ module Hdo
137
138
 
138
139
  private
139
140
 
140
- def clean_categories(categories)
141
+ def clean_array(categories)
141
142
  categories = categories.split(",") if categories.kind_of?(String)
142
-
143
- Array(categories).map(&:strip).
144
- reject(&:empty?).
145
- map { |e| UnicodeUtils.upcase(e) }
143
+ Array(categories).map(&:strip).reject(&:empty?)
146
144
  end
147
145
 
148
146
  def strip_if_string(str)
@@ -14,10 +14,13 @@
14
14
  "description": "A unique identifier for this promise.",
15
15
  "required": true
16
16
  },
17
- "party": {
18
- "type": "string",
19
- "description": "The external id of the party.",
20
- "required": true
17
+ "parties": {
18
+ "type": "array",
19
+ "description": "List of parties (i.e. 'A', 'SV', 'Sp'). Usually a single party.",
20
+ "required": true,
21
+ "items": {
22
+ "type": "string"
23
+ }
21
24
  },
22
25
  "general": {
23
26
  "type": "boolean",
@@ -1,5 +1,5 @@
1
1
  module Hdo
2
2
  module StortingImporter
3
- VERSION = "0.1.7"
3
+ VERSION = "0.1.8"
4
4
  end
5
5
  end
@@ -13,7 +13,7 @@ module Hdo
13
13
  {
14
14
  "kind": "hdo#promise",
15
15
  "externalId": "1",
16
- "party": "H",
16
+ "parties": ["H"],
17
17
  "general": true,
18
18
  "categories": ["GRUNNSKOLE"],
19
19
  "source": "PP",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hdo-storting-importer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-13 00:00:00.000000000 Z
12
+ date: 2012-08-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder