Sha256: e65325ed2f4ab471ff7cdbbed38b9cdc94ebfb1d4af3cb398685af5623004cc6

Contents?: true

Size: 672 Bytes

Versions: 4

Compression:

Stored size: 672 Bytes

Contents

module Clever
  # District resource
  class District < APIResource
    include Clever::APIOperations::List
    @linked_resources = [:schools, :teachers, :sections, :students, :events]

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

    [:school_pages, :teacher_pages, :section_pages, :student_pages, :event_pages].each do |name|
      define_method(name) do |filters = {}|
        Clever::APIOperations::PageList.new get_uri(name.to_s.gsub('_page', '')), filters
      end
    end

    private

    def get_uri(resource_type)
      refresh
      links.find { |link| link[:rel] == resource_type }[:uri]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
clever-ruby-0.6.0 lib/clever-ruby/district.rb
clever-ruby-0.5.0 lib/clever-ruby/district.rb
clever-ruby-0.4.1 lib/clever-ruby/district.rb
clever-ruby-0.4.0 lib/clever-ruby/district.rb