bright 1.3 → 2.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.
@@ -1,7 +1,6 @@
1
1
  module Bright
2
2
  module SisApi
3
3
  class BrightSis < Base
4
-
5
4
  @@description = "Connects to the Bright SIS Data Store"
6
5
  @@doc_url = ""
7
6
  @@api_version = "v1"
@@ -9,12 +8,12 @@ module Bright
9
8
  attr_accessor :connection_options
10
9
 
11
10
  DEMOGRAPHICS_CONVERSION = {
12
- "I"=>"American Indian Or Alaska Native",
13
- "A"=>"Asian",
14
- "B"=>"Black Or African American",
15
- "P"=>"Native Hawaiian Or Other Pacific Islander",
16
- "W"=>"White",
17
- "M"=>"Other"
11
+ "I" => "American Indian Or Alaska Native",
12
+ "A" => "Asian",
13
+ "B" => "Black Or African American",
14
+ "P" => "Native Hawaiian Or Other Pacific Islander",
15
+ "W" => "White",
16
+ "M" => "Other"
18
17
  }
19
18
 
20
19
  def initialize(options = {})
@@ -26,21 +25,21 @@ module Bright
26
25
  end
27
26
 
28
27
  def get_student_by_api_id(api_id, options = {})
29
- self.get_students({"uuid" => api_id}, options.merge(:limit => 1, :wrap_in_collection => false)).first
28
+ get_students({"uuid" => api_id}, options.merge(limit: 1, wrap_in_collection: false)).first
30
29
  end
31
30
 
32
31
  def get_student(params = {}, options = {})
33
- self.get_students(params, options.merge(:limit => 1, :wrap_in_collection => false)).first
32
+ get_students(params, options.merge(limit: 1, wrap_in_collection: false)).first
34
33
  end
35
34
 
36
35
  def get_students(params = {}, options = {})
37
36
  params[:limit] = params[:limit] || options[:limit] || 100
38
- students_response_hash = self.request(:get, 'students', self.map_student_search_params(params))
37
+ students_response_hash = request(:get, "students", map_student_search_params(params))
39
38
  total_results = students_response_hash[:response_headers]["total"].to_i
40
39
  if students_response_hash and students_response_hash["students"]
41
40
  students_hash = [students_response_hash["students"]].flatten
42
41
 
43
- students = students_hash.compact.collect {|st_hsh|
42
+ students = students_hash.compact.collect { |st_hsh|
44
43
  Student.new(convert_to_student_data(st_hsh))
45
44
  }
46
45
  end
@@ -49,14 +48,14 @@ module Bright
49
48
  load_more_call = proc { |page|
50
49
  # pages start at one, so add a page here
51
50
  params[:offset] = (params[:limit].to_i * page)
52
- api.get_students(params, {:wrap_in_collection => false})
51
+ api.get_students(params, {wrap_in_collection: false})
53
52
  }
54
53
  ResponseCollection.new({
55
- :seed_page => students,
56
- :total => total_results,
57
- :per_page => params[:limit],
58
- :load_more_call => load_more_call,
59
- :no_threads => options[:no_threads]
54
+ seed_page: students,
55
+ total: total_results,
56
+ per_page: params[:limit],
57
+ load_more_call: load_more_call,
58
+ no_threads: options[:no_threads]
60
59
  })
61
60
  else
62
61
  students
@@ -73,12 +72,12 @@ module Bright
73
72
 
74
73
  def get_schools(params = {}, options = {})
75
74
  params[:limit] = params[:limit] || options[:limit] || 100
76
- schools_response_hash = self.request(:get, 'schools', self.map_school_search_params(params))
75
+ schools_response_hash = request(:get, "schools", map_school_search_params(params))
77
76
  total_results = schools_response_hash[:response_headers]["total"].to_i
78
77
  if schools_response_hash and schools_response_hash["schools"]
79
78
  schools_hash = [schools_response_hash["schools"]].flatten
80
79
 
81
- schools = schools_hash.compact.collect {|st_hsh|
80
+ schools = schools_hash.compact.collect { |st_hsh|
82
81
  School.new(convert_to_school_data(st_hsh))
83
82
  }
84
83
  end
@@ -87,14 +86,14 @@ module Bright
87
86
  load_more_call = proc { |page|
88
87
  # pages start at one, so add a page here
89
88
  params[:offset] = (params[:limit].to_i * page)
90
- api.get_schools(params, {:wrap_in_collection => false})
89
+ api.get_schools(params, {wrap_in_collection: false})
91
90
  }
92
91
  ResponseCollection.new({
93
- :seed_page => schools,
94
- :total => total_results,
95
- :per_page => params[:limit],
96
- :load_more_call => load_more_call,
97
- :no_threads => options[:no_threads]
92
+ seed_page: schools,
93
+ total: total_results,
94
+ per_page: params[:limit],
95
+ load_more_call: load_more_call,
96
+ no_threads: options[:no_threads]
98
97
  })
99
98
  else
100
99
  schools
@@ -102,7 +101,7 @@ module Bright
102
101
  end
103
102
 
104
103
  def request(method, path, params = {})
105
- uri = "#{self.connection_options[:uri]}/#{path}"
104
+ uri = "#{connection_options[:uri]}/#{path}"
106
105
  body = nil
107
106
  if method == :get
108
107
  query = URI.encode_www_form(params)
@@ -113,7 +112,7 @@ module Bright
113
112
 
114
113
  response = connection_retry_wrapper {
115
114
  connection = Bright::Connection.new(uri)
116
- headers = self.headers_for_auth
115
+ headers = headers_for_auth
117
116
  connection.request(method, body, headers)
118
117
  }
119
118
 
@@ -130,12 +129,12 @@ module Bright
130
129
  protected
131
130
 
132
131
  def headers_for_auth(uri)
133
- {"Authorization" => "Token token=#{self.connection_options[:access_token]}"}
132
+ {"Authorization" => "Token token=#{connection_options[:access_token]}"}
134
133
  end
135
134
 
136
135
  def map_student_search_params(attrs)
137
136
  filter_params = {}
138
- attrs.each do |k,v|
137
+ attrs.each do |k, v|
139
138
  case k.to_s
140
139
  when "api_id"
141
140
  filter_params["uuid"] = v
@@ -147,27 +146,27 @@ module Bright
147
146
  filter_params[k] = v
148
147
  end
149
148
  end
150
- return filter_params
149
+ filter_params
151
150
  end
152
151
 
153
152
  def convert_to_student_data(student_params)
154
153
  return {} if student_params.nil?
155
154
  student_data_hsh = {
156
- :api_id => student_params["uuid"],
157
- :first_name => student_params["first_name"],
158
- :middle_name => student_params["middle_name"],
159
- :last_name => student_params["last_name"],
160
- :sis_student_id => student_params["student_number"],
161
- :state_student_id => student_params["state_id"],
162
- :grade => student_params["grade"],
163
- :grade_school_year => student_params["grade_school_year"],
164
- :projected_graduation_year => student_params["graduation_year"],
165
- :sex => student_params["sex"],
166
- :frl_status => student_params["frl_status"],
167
- :image => student_params["picture"],
168
- :hispanic_ethnicity => student_params["hispanic_latino"],
169
- :last_modified => student_params["updated_at"]
170
- }.reject{|k,v| v.blank?}
155
+ api_id: student_params["uuid"],
156
+ first_name: student_params["first_name"],
157
+ middle_name: student_params["middle_name"],
158
+ last_name: student_params["last_name"],
159
+ sis_student_id: student_params["student_number"],
160
+ state_student_id: student_params["state_id"],
161
+ grade: student_params["grade"],
162
+ grade_school_year: student_params["grade_school_year"],
163
+ projected_graduation_year: student_params["graduation_year"],
164
+ sex: student_params["sex"],
165
+ frl_status: student_params["frl_status"],
166
+ image: student_params["picture"],
167
+ hispanic_ethnicity: student_params["hispanic_latino"],
168
+ last_modified: student_params["updated_at"]
169
+ }.reject { |k, v| v.blank? }
171
170
  unless student_params["birthdate"].blank?
172
171
  student_data_hsh[:birth_date] = Date.parse(student_params["birthdate"]).to_s
173
172
  end
@@ -193,7 +192,7 @@ module Bright
193
192
 
194
193
  unless student_params["email_addresses"].blank?
195
194
  student_data_hsh[:email_address] = {
196
- :email_address => student_params["email_addresses"].first["email_address"]
195
+ email_address: student_params["email_addresses"].first["email_address"]
197
196
  }
198
197
  end
199
198
 
@@ -204,13 +203,13 @@ module Bright
204
203
  unless student_params["contacts"].blank?
205
204
  student_data_hsh[:contacts] = student_params["contacts"].collect do |contact_params|
206
205
  contact_data_hsh = {
207
- :api_id => contact_params["uuid"],
208
- :first_name => contact_params["first_name"],
209
- :middle_name => contact_params["middle_name"],
210
- :last_name => contact_params["last_name"],
211
- :relationship_type => contact_params["relationship"],
212
- :sis_student_id => contact_params["sis_id"],
213
- :last_modified => contact_params["updated_at"]
206
+ api_id: contact_params["uuid"],
207
+ first_name: contact_params["first_name"],
208
+ middle_name: contact_params["middle_name"],
209
+ last_name: contact_params["last_name"],
210
+ relationship_type: contact_params["relationship"],
211
+ sis_student_id: contact_params["sis_id"],
212
+ last_modified: contact_params["updated_at"]
214
213
  }
215
214
  unless contact_params["addresses"].blank?
216
215
  contact_data_hsh[:addresses] = contact_params["addresses"].collect do |address_params|
@@ -224,19 +223,19 @@ module Bright
224
223
  end
225
224
  unless contact_params["email_addresses"].blank?
226
225
  contact_data_hsh[:email_address] = {
227
- :email_address => contact_params["email_addresses"].first["email_address"]
226
+ email_address: contact_params["email_addresses"].first["email_address"]
228
227
  }
229
228
  end
230
- contact_data_hsh.reject{|k,v| v.blank?}
229
+ contact_data_hsh.reject { |k, v| v.blank? }
231
230
  end
232
231
  end
233
232
 
234
- return student_data_hsh
233
+ student_data_hsh
235
234
  end
236
235
 
237
236
  def map_school_search_params(attrs)
238
237
  filter_params = {}
239
- attrs.each do |k,v|
238
+ attrs.each do |k, v|
240
239
  case k.to_s
241
240
  when "api_id"
242
241
  filter_params["id"] = v
@@ -244,62 +243,61 @@ module Bright
244
243
  filter_params[k] = v
245
244
  end
246
245
  end
247
- return filter_params
246
+ filter_params
248
247
  end
249
248
 
250
249
  def convert_to_phone_number_data(phone_number_params)
251
250
  return {} if phone_number_params.nil?
252
251
  {
253
- :phone_number => phone_number_params["phone_number"],
254
- :type => phone_number_params["phone_type"]
255
- }.reject{|k,v| v.blank?}
252
+ phone_number: phone_number_params["phone_number"],
253
+ type: phone_number_params["phone_type"]
254
+ }.reject { |k, v| v.blank? }
256
255
  end
257
256
 
258
257
  def convert_to_address_data(address_params)
259
258
  return {} if address_params.nil?
260
259
  {
261
- :street => address_params["street"],
262
- :apt => address_params["street_line_2"],
263
- :city => address_params["city"],
264
- :state => address_params["state"],
265
- :postal_code => address_params["zip"],
266
- :lattitude => address_params["latitude"],
267
- :longitude => address_params["longitude"],
268
- :type => address_params["address_type"]
269
- }.reject{|k,v| v.blank?}
260
+ street: address_params["street"],
261
+ apt: address_params["street_line_2"],
262
+ city: address_params["city"],
263
+ state: address_params["state"],
264
+ postal_code: address_params["zip"],
265
+ lattitude: address_params["latitude"],
266
+ longitude: address_params["longitude"],
267
+ type: address_params["address_type"]
268
+ }.reject { |k, v| v.blank? }
270
269
  end
271
270
 
272
271
  def convert_to_school_data(school_params)
273
272
  return {} if school_params.nil?
274
273
 
275
274
  school_data_hsh = {
276
- :api_id => school_params["id"],
277
- :name => school_params["name"],
278
- :number => school_params["number"],
279
- :state_id => school_params["state_id"],
280
- :low_grade => school_params["low_grade"],
281
- :high_grade => school_params["high_grade"],
282
- :last_modified => school_params["updated_at"]
275
+ api_id: school_params["id"],
276
+ name: school_params["name"],
277
+ number: school_params["number"],
278
+ state_id: school_params["state_id"],
279
+ low_grade: school_params["low_grade"],
280
+ high_grade: school_params["high_grade"],
281
+ last_modified: school_params["updated_at"]
283
282
  }
284
283
 
285
284
  unless school_params["school_address"].blank?
286
285
  school_data_hsh[:address] = {
287
- :street => school_params["school_address"],
288
- :city => school_params["school_city"],
289
- :state => school_params["school_state"],
290
- :postal_code => school_params["school_zip"]
286
+ street: school_params["school_address"],
287
+ city: school_params["school_city"],
288
+ state: school_params["school_state"],
289
+ postal_code: school_params["school_zip"]
291
290
  }
292
291
  end
293
292
 
294
293
  unless school_params["school_phone"].blank?
295
294
  school_data_hsh[:phone_number] = {
296
- :phone_number => school_params["school_phone"]
295
+ phone_number: school_params["school_phone"]
297
296
  }
298
297
  end
299
298
 
300
- return school_data_hsh
299
+ school_data_hsh
301
300
  end
302
-
303
301
  end
304
302
  end
305
303
  end