oneroster 2.3.16 → 2.3.17

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: 9fe9dad3ac5ec94b56e19e454c4f5b02cef8aa2d296ab9fd4712fecc5d5cb900
4
- data.tar.gz: 56d71fcd5e105f8c39f1634be90ab0da4f88259a03c73c796f3a73c4eb86a55d
3
+ metadata.gz: 555858921ccacbcd41542d5b989a9f9cd5fb444d87612a487628cf1e5aa9f080
4
+ data.tar.gz: a49f9e318f4906526059e081fb167ef6e3807390e6525e5f077df3f39f829876
5
5
  SHA512:
6
- metadata.gz: 999b238ab6e94f5fb2f83517a282945e4d758ff6a5f297f8448d44321e4d79188c208d1aaa42cb0a184a5c4d7953754a4e6e4ba66693031ba3854d642506bb9c
7
- data.tar.gz: c7abc5bd193fe99d7d6750889bda3ecf6c56f0fc14b46d25294f16003d96b2d6784c8e8df8d085f9ef16cff3e391838543287b9c6aa7a92202ffa76b62d5abaf
6
+ metadata.gz: c843a76353e9e318f06bb0288bb40f4867ce721a22c7416073a0999baab245a6ba490c414d03ca7fe5ee47045cec220e0acb55c1452a9277ab9716e7ffdc63d9
7
+ data.tar.gz: ffe69362126bec58ba2d46f08810628f42d243301e06e4e8a53928e43eaaf5c4d6d5e478de8bdd8b8159e0fd0a0ad5340b50b1cc7fe5f0b57cca245b7ce8af05
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oneroster (2.3.16)
4
+ oneroster (2.3.17)
5
5
  dry-inflector
6
6
  faraday
7
7
  faraday_middleware
@@ -171,6 +171,7 @@ module OneRoster
171
171
 
172
172
  enrollments.each_with_object(teacher: [], student: []) do |enrollment, enrollments|
173
173
  next if classroom_uids.any? && !classroom_uids.include?(enrollment.classroom_uid)
174
+ next unless enrollment.in_term?
174
175
 
175
176
  enrollments[enrollment.role.to_sym] << enrollment if enrollment.valid?
176
177
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OneRoster
4
- VERSION = '2.3.16'
4
+ VERSION = '2.3.17'
5
5
  end
@@ -7,7 +7,9 @@ module OneRoster
7
7
  :classroom_uid,
8
8
  :user_uid,
9
9
  :role,
10
- :provider
10
+ :provider,
11
+ :begin_date,
12
+ :end_date
11
13
 
12
14
  def initialize(attributes = {}, *)
13
15
  @uid = attributes['sourcedId']
@@ -16,6 +18,8 @@ module OneRoster
16
18
  @user_uid = attributes['user_uid'] || attributes.dig('user', 'sourcedId')
17
19
  @role = attributes['role']
18
20
  @primary = attributes['primary']
21
+ @begin_date = presence(attributes['beginDate'])
22
+ @end_date = presence(attributes['endDate'])
19
23
  @provider = 'oneroster'
20
24
  end
21
25
 
@@ -37,6 +41,14 @@ module OneRoster
37
41
  @role == 'student'
38
42
  end
39
43
 
44
+ def in_term?
45
+ return true if begin_date.nil? && end_date.nil?
46
+ return Time.parse(begin_date) < Time.now if !begin_date.nil? && end_date.nil?
47
+ return Time.parse(end_date) > Time.now if !end_date.nil? && begin_date.nil?
48
+
49
+ Time.parse(begin_date) <= Time.now && Time.parse(end_date) >= Time.now
50
+ end
51
+
40
52
  def to_h
41
53
  {
42
54
  classroom_uid: @classroom_uid,
@@ -45,6 +57,10 @@ module OneRoster
45
57
  provider: @provider
46
58
  }
47
59
  end
60
+
61
+ def presence(value)
62
+ value unless value.respond_to?(:empty?) && value.empty?
63
+ end
48
64
  end
49
65
  end
50
66
  end
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.3.16
4
+ version: 2.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Julius
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-14 00:00:00.000000000 Z
11
+ date: 2025-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday