kosapi_client 0.7.1 → 0.8.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: '09f3155fa5b3db5339871a34bcb01715b79c0f50'
4
- data.tar.gz: f125e9b672e550555bb2087374162930259a6896
3
+ metadata.gz: 2cbd06f389e0118e1f7c3e9366af9638ee643bbf
4
+ data.tar.gz: b4c7f3e7680653e4920a2c30876107c2dbf1ce2c
5
5
  SHA512:
6
- metadata.gz: acc8abb497c8016cf7f7b8bb3299873eeb4686ebce491c0f102491d921f275d43cc55f93464ff4324cddd885b9d8fbadcb6131519f165ca663340c9a4daeadbd
7
- data.tar.gz: d605ad4b32ebd0e524f3086c8a392a8fc984d5f00b08091381c1c027d49a7af076548dab47308fa0f2e1f108c92cc19e4493da34104931ae571a858a96329c57
6
+ metadata.gz: dee4adbe8a2bdd0f8a975aaeb7797cdf61cc0230540b66666f8e30bf973b64d9ce919ab3d030981f45b8ce67fc5e590dd6252cdd24c74b44c7de36ba1f0c4d8b
7
+ data.tar.gz: 8f327d32b45559da7156b0ca039fffbb73e64bb77e366f59574d9fe8cdcc8ce7a8e748f12e25f1004e83d62fb0c50438e81b5ff66fc098a94a5f3ea34fcd6c53
@@ -10,6 +10,7 @@ module KOSapiClient
10
10
  resource :course_events
11
11
  resource :divisions
12
12
  resource :parallels
13
+ resource :parameters
13
14
  resource :exams
14
15
  resource :semesters
15
16
  resource :teachers
@@ -14,6 +14,7 @@ require 'kosapi_client/entity/division'
14
14
  require 'kosapi_client/entity/teacher_timetable_slot'
15
15
  require 'kosapi_client/entity/timetable_slot'
16
16
  require 'kosapi_client/entity/parallel'
17
+ require 'kosapi_client/entity/parameter'
17
18
  require 'kosapi_client/entity/base_person'
18
19
  require 'kosapi_client/entity/person'
19
20
  require 'kosapi_client/entity/teacher'
@@ -0,0 +1,14 @@
1
+ module KOSapiClient
2
+ module Entity
3
+ class Parameter < BaseEntity
4
+
5
+ map_data :description, String
6
+ map_data :key, String
7
+ map_data :value, String
8
+ end
9
+
10
+ # XSI type of the Parameter entity is actually KoSetting (wtf?), thus we
11
+ # must define this alias so ResponseConverter can find the entity class.
12
+ KoSetting = Parameter
13
+ end
14
+ end
@@ -32,6 +32,26 @@ module KOSapiClient
32
32
 
33
33
  alias where query
34
34
 
35
+ # Specify order of the results.
36
+ #
37
+ # Examples:
38
+ # .order_by(:firstName, :lastName)
39
+ # .order_by(:firstName, lastName: :desc)
40
+ # .order_by(firstName: :asc, lastName: desc)
41
+ def order_by(*args, **kwargs)
42
+ ordering = args + kwargs.map do |attr, dir|
43
+ if dir != :asc && dir != :desc
44
+ raise ArgumentError, "Direction must be :asc, or :desc, but got #{dir.inspect}"
45
+ end
46
+ "#{attr}@#{dir}"
47
+ end
48
+
49
+ @url_builder.set_query_param(:orderBy, ordering.join(','))
50
+ self
51
+ end
52
+
53
+ alias order order_by
54
+
35
55
  def initialize(resource_name, http_client, url_builder = URLBuilder.new(resource_name.to_s))
36
56
  @base_url = resource_name
37
57
  @http_client = http_client
@@ -1,3 +1,3 @@
1
1
  module KOSapiClient
2
- VERSION = '0.7.1'
2
+ VERSION = '0.8.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.7.1
4
+ version: 0.8.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: 2017-12-03 00:00:00.000000000 Z
11
+ date: 2018-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -276,6 +276,7 @@ files:
276
276
  - lib/kosapi_client/entity/link.rb
277
277
  - lib/kosapi_client/entity/ml_string.rb
278
278
  - lib/kosapi_client/entity/parallel.rb
279
+ - lib/kosapi_client/entity/parameter.rb
279
280
  - lib/kosapi_client/entity/person.rb
280
281
  - lib/kosapi_client/entity/result_page.rb
281
282
  - lib/kosapi_client/entity/semester.rb