Sha256: e03e229354fa57606eed825102fc1293f7e872dcc93cfa534274ddb3a8b3758c

Contents?: true

Size: 923 Bytes

Versions: 2

Compression:

Stored size: 923 Bytes

Contents

module RockRMS
  module Responses
    class Group
      MAP = {
        id: "Id",
        name: "Name",
        group_type_id: "GroupTypeId",
        parent_group_id: "ParentGroupId",
        campus_id: "CampusId",
        is_active: "IsActive",
        guid: "Guid",
        members: "Members"
      }.freeze

      def self.format(data)
        if data.is_a?(Array)
          data.map { |object| format_single(object) }
        else
          format_single(data)
        end
      end

      private

      def self.format_single(data)
        result = MAP.each.with_object({}) do |(l,r), object|
          object[l] = data[r]
        end

        if group_locations = data['GroupLocations']
          result[:group_locations] = GroupLocation.format(group_locations)
        end

        if campus = data['Campus']
          result[:campus] = Campus.format(campus)
        end

        result
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rock_rms-1.2.0 lib/rock_rms/responses/group.rb
rock_rms-1.1.0 lib/rock_rms/responses/group.rb