Sha256: fe67186f21e3debab11edd7e3f1d018a95eb3de414f09f9aeb36891d577be5ef

Contents?: true

Size: 879 Bytes

Versions: 3

Compression:

Stored size: 879 Bytes

Contents

module Clever
  class District < APIResource
    include Clever::APIOperations::List

    def optional_attributes
      # All of a district's attributes are required.
      []
    end

    def schools(filters={})
      get_linked_resources 'schools', filters
    end

    def teachers(filters={})
      get_linked_resources 'teachers', filters
    end

    def sections(filters={})
      get_linked_resources 'sections', filters
    end

    def students(filters={})
      get_linked_resources 'students', filters
    end

    def events(filters={})
      get_linked_resources 'events', filters
    end

    private

    def get_linked_resources(resource_type, filters={})
      refresh
      uri = links.detect {|link| link[:rel] == resource_type }[:uri]
      response = Clever.request(:get, uri, filters)
      Util.convert_to_clever_object(response[:data])
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
clever-ruby-0.1.0 lib/clever-ruby/district.rb
clever-ruby-0.0.5 lib/clever-ruby/district.rb
clever-ruby-0.0.4 lib/clever-ruby/district.rb