oneroster 2.0.1 → 2.1.0

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
  SHA1:
3
- metadata.gz: 56b1e4481ec56f6041edd31f16457ace9bd84d88
4
- data.tar.gz: 364a22aeaa63d58c65997563a239e549e1fbd70a
3
+ metadata.gz: d7c96ffdc7402eec2d58ec75149901ed79f346e3
4
+ data.tar.gz: 36d976b05175c8e05824cf9d0d0941cff5ad6d29
5
5
  SHA512:
6
- metadata.gz: f0a4b44c8e3e518fc65bb7ca287b7ace69f5a036b82def7c33f2fbccc5aae60188efe7152e012a4bd4878dbd58512f28d15f1b4557ba95d59432d1226ec3e260
7
- data.tar.gz: 7940dcec5c164d80229032579927374c9b2c9d539d15a30ed8423002ad35795de980152252a58b04b04371762a4c9c76a47e675fd22fabafdc91f0efafecb383
6
+ metadata.gz: 46ecf8a50d1dd33f7dc41885d4aa0e72a5fea18ef5832ab7102901700611fff887669f653d07369f4f49a0a54dd22894823a17fd654d3aea6c489c29463bdb9e
7
+ data.tar.gz: c967a57bd3f44e997ad024014d9ba12282edf44c5bc6c5194e5a41662ce98a60fd83dfb408dcb64e0bb3b9c1f3d746dfdc151f32e1c8731b7d55dec63ebd7a63
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oneroster (2.0.1)
4
+ oneroster (2.1.0)
5
5
  dry-inflector
6
6
  faraday
7
7
  faraday_middleware
@@ -56,6 +56,7 @@ module OneRoster
56
56
  'course_number' => course.course_code,
57
57
  'period' => oneroster_class.period,
58
58
  'grades' => oneroster_class.grades,
59
+ 'subjects' => oneroster_class.subjects,
59
60
  'term_name' => term&.name,
60
61
  'term_start_date' => term&.start_date,
61
62
  'term_end_date' => term&.end_date
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OneRoster
2
4
  class Response
3
5
  attr_reader :status, :raw_body, :headers
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OneRoster
4
- VERSION = '2.0.1'
4
+ VERSION = '2.1.0'
5
5
  end
@@ -9,6 +9,7 @@ module OneRoster
9
9
  :provider,
10
10
  :period,
11
11
  :grades,
12
+ :subjects,
12
13
  :term_id
13
14
 
14
15
  def initialize(attributes = {}, *)
@@ -18,6 +19,7 @@ module OneRoster
18
19
  @status = attributes['status']
19
20
  @period = first_period(attributes) || period_from_code(attributes)
20
21
  @grades = attributes['grades']
22
+ @subjects = presence(attributes['subjects']) || []
21
23
  @term_id = attributes['terms'][0]['sourcedId']
22
24
  @provider = 'oneroster'
23
25
  end
@@ -35,6 +37,14 @@ module OneRoster
35
37
  def period_from_code(attributes)
36
38
  attributes['classCode']&.match(/- Period (\d+) -/) { |m| m[1] }
37
39
  end
40
+
41
+ def presence(field)
42
+ field unless blank?(field)
43
+ end
44
+
45
+ def blank?(field)
46
+ field.nil? || field == ''
47
+ end
38
48
  end
39
49
  end
40
50
  end
@@ -8,6 +8,7 @@ module OneRoster
8
8
  :course_number,
9
9
  :period,
10
10
  :grades,
11
+ :subjects,
11
12
  :provider,
12
13
  :term_name,
13
14
  :term_start_date,
@@ -19,6 +20,7 @@ module OneRoster
19
20
  @course_number = attributes['course_number']
20
21
  @period = attributes['period']
21
22
  @grades = attributes['grades']
23
+ @subjects = attributes['subjects']
22
24
  @term_name = attributes['term_name']
23
25
  @term_start_date = attributes['term_start_date']
24
26
  @term_end_date = attributes['term_end_date']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oneroster
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Julius
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-24 00:00:00.000000000 Z
11
+ date: 2020-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday