kosapi_client 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2cbd06f389e0118e1f7c3e9366af9638ee643bbf
4
- data.tar.gz: b4c7f3e7680653e4920a2c30876107c2dbf1ce2c
3
+ metadata.gz: bac1e9014ebfe31cb9d5be57bb61a75ee7301bb7
4
+ data.tar.gz: 70a1e0029c8fca1bf04fcf84e87cddd7a843e046
5
5
  SHA512:
6
- metadata.gz: dee4adbe8a2bdd0f8a975aaeb7797cdf61cc0230540b66666f8e30bf973b64d9ce919ab3d030981f45b8ce67fc5e590dd6252cdd24c74b44c7de36ba1f0c4d8b
7
- data.tar.gz: 8f327d32b45559da7156b0ca039fffbb73e64bb77e366f59574d9fe8cdcc8ce7a8e748f12e25f1004e83d62fb0c50438e81b5ff66fc098a94a5f3ea34fcd6c53
6
+ metadata.gz: 1b468d6c89c156918444e21f755457ea5747ec0a0dbd4c3a215908d0a0e5a6cf08caad4b44063a0b415d302f679f5ca982d80106ca82309ca3e4f8cc6daaf46a
7
+ data.tar.gz: 436b109ae00c71e174e22cf670005aad463287ee899cbbf82044955d0966bf979063ca3ceb00dcc0b13c44db97d47f71488ee43a94465d863d4f2f30bc55e590
@@ -6,6 +6,7 @@ module KOSapiClient
6
6
  include ResourceMapper
7
7
 
8
8
  # accessible resources definition
9
+ resource :branches
9
10
  resource :courses
10
11
  resource :course_events
11
12
  resource :divisions
@@ -21,3 +21,4 @@ require 'kosapi_client/entity/teacher'
21
21
  require 'kosapi_client/entity/semester'
22
22
  require 'kosapi_client/entity/student'
23
23
  require 'kosapi_client/entity/exam'
24
+ require 'kosapi_client/entity/branch'
@@ -0,0 +1,15 @@
1
+ module KOSapiClient
2
+ module Entity
3
+ class Branch < BaseEntity
4
+ map_data :abbrev
5
+ map_data :capacity, Integer
6
+ map_data :code
7
+ map_data :description, MLString
8
+ map_data :diploma_name, MLString
9
+ map_data :division, Link
10
+ map_data :guarantor, Link
11
+ map_data :name, MLString
12
+ map_data :open_for_admission, Boolean
13
+ end
14
+ end
15
+ end
@@ -1,4 +1,5 @@
1
1
  require 'kosapi_client/request_builder'
2
+ require 'kosapi_client/resource/branches_builder'
2
3
  require 'kosapi_client/resource/courses_builder'
3
4
  require 'kosapi_client/resource/parallels_builder'
4
5
  require 'kosapi_client/resource/exams_builder'
@@ -0,0 +1,11 @@
1
+ module KOSapiClient
2
+ module Resource
3
+ class BranchesBuilder < RequestBuilder
4
+ def study_plans
5
+ raise 'Call #find before asking for branch\'s study plans' unless id_set?
6
+ url_builder.set_path(id, 'studyPlans')
7
+ self
8
+ end
9
+ end
10
+ end
11
+ end
@@ -3,17 +3,34 @@ module KOSapiClient
3
3
  class CoursesBuilder < RequestBuilder
4
4
 
5
5
  def detail(level = 1)
6
- @url_builder.set_query_param(:detail, level)
6
+ url_builder.set_query_param(:detail, level)
7
7
  self
8
8
  end
9
9
 
10
10
  # Selects courses scheduled in the specified semester(s).
11
11
  def sem(*semesters)
12
- @url_builder.set_query_param(:sem, semesters.join(','))
12
+ url_builder.set_query_param(:sem, semesters.join(','))
13
13
  self
14
14
  end
15
15
 
16
16
  alias semester sem
17
+
18
+ # XXX: This is quite insane, we need some support to DRY subresources.
19
+ %w[events exams parallels students instances branches].each do |resource|
20
+ define_method(resource) do |semester: 'current'|
21
+ raise "Call #find({course_code}) before asking for #{resource}" unless id_set?
22
+ url_builder.set_path(id, resource)
23
+ url_builder.set_query_param(:sem, semester)
24
+ self
25
+ end
26
+ end
27
+
28
+ def parallel(code, semester: 'current')
29
+ raise 'Call #find({course_code}) before asking for parallel' unless id_set?
30
+ url_builder.set_path(id, 'parallels', code)
31
+ url_builder.set_query_param(:sem, semester)
32
+ self
33
+ end
17
34
  end
18
35
  end
19
36
  end
@@ -1,3 +1,3 @@
1
1
  module KOSapiClient
2
- VERSION = '0.8.0'
2
+ VERSION = '0.9.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kosapi_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tibor Szolár
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-19 00:00:00.000000000 Z
11
+ date: 2018-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -265,6 +265,7 @@ files:
265
265
  - lib/kosapi_client/entity/base_entity.rb
266
266
  - lib/kosapi_client/entity/base_person.rb
267
267
  - lib/kosapi_client/entity/boolean.rb
268
+ - lib/kosapi_client/entity/branch.rb
268
269
  - lib/kosapi_client/entity/course.rb
269
270
  - lib/kosapi_client/entity/course_event.rb
270
271
  - lib/kosapi_client/entity/coursin.rb
@@ -292,6 +293,7 @@ files:
292
293
  - lib/kosapi_client/request_builder.rb
293
294
  - lib/kosapi_client/request_builder_delegator.rb
294
295
  - lib/kosapi_client/resource.rb
296
+ - lib/kosapi_client/resource/branches_builder.rb
295
297
  - lib/kosapi_client/resource/course_events_builder.rb
296
298
  - lib/kosapi_client/resource/courses_builder.rb
297
299
  - lib/kosapi_client/resource/exams_builder.rb