Class: Conversant::V3::Services::LMS::Domain
- Inherits:
-
Object
- Object
- Conversant::V3::Services::LMS::Domain
- Defined in:
- sig/conversant/v3/services/lms.rbs,
lib/conversant/v3/services/lms/domain.rb
Overview
Domain management for LMS
Instance Attribute Summary collapse
- #parent ⇒ LMS readonly
Instance Method Summary collapse
- #all(params = {}) ⇒ Hash[Symbol, untyped]?
- #create(payload) ⇒ Boolean
- #delete(domain_id) ⇒ Boolean
-
#initialize(parent) ⇒ Domain
constructor
A new instance of Domain.
- #logger ⇒ Object
- #show(domain_id) ⇒ Hash[String, untyped]?
- #update(payload) ⇒ Boolean
Constructor Details
#initialize(parent) ⇒ Domain
Returns a new instance of Domain.
10 11 12 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 10 def initialize(parent) @parent = parent end |
Instance Attribute Details
#parent ⇒ LMS (readonly)
8 9 10 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 8 def parent @parent end |
Instance Method Details
#all(params = {}) ⇒ Hash[Symbol, untyped]?
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 14 def all(params = {}) default_payload = { sEcho: 1, iColumns: 1, sColumns: nil, iDisplayStart: 0, iDisplayLength: 20, mDataProp_0: 'domain', mDataProp_1: 'app', mDataProp_2: 'stream', mDataProp_3: 'created', mDataProp_4: 'id', iSortingCols: 0, bSortable_0: 'false', bSortable_1: 'false', bSortable_2: 'false', bSortable_3: 'false', bSortable_4: 'false', page_number: 1, page_size: 20, sort_field: nil, sort_type: nil, _: (Time.now.to_f * 1000).to_i } merged_payload = default_payload.merge(params) response = @parent.send(:call, 'GET', "/live/domain?#{merged_payload.to_query}") return nil if response.nil? response = JSON.parse(response) return nil unless response&.[]('list') { current_page_number: response['current_page_number'], has_next: response['has_next'], has_pre: response['has_pre'], total_count: response['total_count'], total_page_number: response['total_page_number'], data: response['list'] } rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" nil end |
#create(payload) ⇒ Boolean
69 70 71 72 73 74 75 76 77 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 69 def create(payload) response = @parent.send(:call, 'POST', '/live/domain', payload) return false if response.nil? JSON.parse(response)&.[]('status') == 'ok' rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" false end |
#delete(domain_id) ⇒ Boolean
89 90 91 92 93 94 95 96 97 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 89 def delete(domain_id) response = @parent.send(:call, 'DELETE', "/live/domain/#{domain_id}") return false if response.nil? JSON.parse(response)&.[]('status') == 'ok' rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" false end |
#logger ⇒ Object
101 102 103 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 101 def logger @parent.send(:logger) end |
#show(domain_id) ⇒ Hash[String, untyped]?
59 60 61 62 63 64 65 66 67 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 59 def show(domain_id) response = @parent.send(:call, 'GET', "/live/domain/#{domain_id}") return nil if response.nil? JSON.parse(response) rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" nil end |
#update(payload) ⇒ Boolean
79 80 81 82 83 84 85 86 87 |
# File 'lib/conversant/v3/services/lms/domain.rb', line 79 def update(payload) response = @parent.send(:call, 'PUT', '/live/domain', payload) return false if response.nil? JSON.parse(response)&.[]('status') == 'ok' rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" false end |