Class: Section

Inherits:
PCR
  • Object
show all
Defined in:
lib/classes/section.rb

Instance Attribute Summary collapse

Attributes inherited from PCR

#api_endpt, #token

Instance Method Summary collapse

Methods inherited from PCR

#coursehistory, #makeURL

Constructor Details

#initialize(path, api_endpt, token) ⇒ Section

Returns a new instance of Section.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/classes/section.rb', line 6

def initialize(path, api_endpt, token)
  @path = path
  @api_endpt = api_endpt
  @token = token
      
  # Hit api

  api_url = makeURL(self.path)
  json = JSON.parse(open(api_url).read)
  
  # Get reviews

  # Usually one, but may be > 1

  @reviews = []
  reviews_url = makeURL(json['result']['reviews']['path'])
  reviews_json = JSON.parse(open(reviews_url).read)
  reviews_json['result']['values'].each do |review|
    @reviews << Review.new(review)
  end
  
  # Assign attrs

  attrs = %w(aliases course group id instructors meetingtimes name 
             sectionnum retrieved valid version)
  attrs.each do |attr|
    if json['result'][attr]
      self.instance_variable_set("@#{attr}", json['result'][attr])
    else
      self.instance_variable_set("@#{attr}", json[attr])
    end
  end
end

Instance Attribute Details

#aliasesObject

Returns the value of attribute aliases.



2
3
4
# File 'lib/classes/section.rb', line 2

def aliases
  @aliases
end

#courseObject

Returns the value of attribute course.



2
3
4
# File 'lib/classes/section.rb', line 2

def course
  @course
end

#groupObject

Returns the value of attribute group.



2
3
4
# File 'lib/classes/section.rb', line 2

def group
  @group
end

#idObject

Returns the value of attribute id.



2
3
4
# File 'lib/classes/section.rb', line 2

def id
  @id
end

#instructorsObject

Returns the value of attribute instructors.



2
3
4
# File 'lib/classes/section.rb', line 2

def instructors
  @instructors
end

#meetingtimesObject

Returns the value of attribute meetingtimes.



2
3
4
# File 'lib/classes/section.rb', line 2

def meetingtimes
  @meetingtimes
end

#nameObject

Returns the value of attribute name.



2
3
4
# File 'lib/classes/section.rb', line 2

def name
  @name
end

#pathObject

Returns the value of attribute path.



2
3
4
# File 'lib/classes/section.rb', line 2

def path
  @path
end

#retrievedObject

Returns the value of attribute retrieved.



2
3
4
# File 'lib/classes/section.rb', line 2

def retrieved
  @retrieved
end

#reviewsObject

Returns the value of attribute reviews.



2
3
4
# File 'lib/classes/section.rb', line 2

def reviews
  @reviews
end

#sectionnumObject

Returns the value of attribute sectionnum.



2
3
4
# File 'lib/classes/section.rb', line 2

def sectionnum
  @sectionnum
end

#validObject

Returns the value of attribute valid.



2
3
4
# File 'lib/classes/section.rb', line 2

def valid
  @valid
end

#versionObject

Returns the value of attribute version.



2
3
4
# File 'lib/classes/section.rb', line 2

def version
  @version
end