Class: ChurchCommunityBuilder::CampusList

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/api/campus_list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ CampusList

Returns a new instance of CampusList.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/api/campus_list.rb', line 16

def initialize(json)
  @json_data = json["ccb_api"]
  @request_data = @json_data["request"]
  @response_data = @json_data["response"]
  @service = @response_data["service"] #CCB service type accessed

  @campuses  = @response_data['campuses']

  @count = @campuses["count"].to_i #number of records

  # if @campuses['campus'] is a single item, it will be returned
  # as a Hash, rather than a single element Array, containing the Hash.
  #
  if @campuses["campus"].is_a?(Array)
    @campus_array = @campuses["campus"]
  
  elsif @campuses["campus"].is_a?(Hash)
    @campus_array = []
    @campus_array << @campuses["campus"] #array of each campus
  end

end

Instance Attribute Details

#campus_arrayObject (readonly)

Returns the value of attribute campus_array.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def campus_array
  @campus_array
end

#countObject (readonly)

Returns the value of attribute count.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def count
  @count
end

#individualsObject (readonly)

Returns the value of attribute individuals.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def individuals
  @individuals
end

#json_dataObject (readonly)

Returns the value of attribute json_data.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def json_data
  @json_data
end

#request_dataObject (readonly)

Returns the value of attribute request_data.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def request_data
  @request_data
end

#response_dataObject (readonly)

Returns the value of attribute response_data.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def response_data
  @response_data
end

#serviceObject (readonly)

Returns the value of attribute service.



7
8
9
# File 'lib/api/campus_list.rb', line 7

def service
  @service
end

Instance Method Details

#[](index) ⇒ Object



48
49
50
# File 'lib/api/campus_list.rb', line 48

def [](index)
  Campus.new( @campus_array[index] ) if @campus_array and @campus_array[index]
end

#all_namesObject



39
40
41
42
# File 'lib/api/campus_list.rb', line 39

def all_names
  return [] unless @campus_array
  @campus_array.collect { |campus| campus['name'] }
end

#each(&block) ⇒ Object

This method is needed for Enumerable.



54
55
56
# File 'lib/api/campus_list.rb', line 54

def each &block
  @campus_array.each{ |campus| yield( Campus.new(campus) )}
end

#empty?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/api/campus_list.rb', line 59

def empty?
  @campus_array.size == 0 ? true : false
end

#idsObject



44
45
46
# File 'lib/api/campus_list.rb', line 44

def ids
  (@campus_array.collect { |campus| campus['id'] }).uniq
end