Class: Hdo::StortingImporter::ParsingDataSource

Inherits:
DataSource
  • Object
show all
Defined in:
lib/hdo/storting_importer/parsing_data_source.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(delegate_data_source) ⇒ ParsingDataSource

Returns a new instance of ParsingDataSource.



8
9
10
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 8

def initialize(delegate_data_source)
  @data_source = delegate_data_source
end

Class Method Details

.defaultObject



4
5
6
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 4

def self.default
  new ApiDataSource.default
end

Instance Method Details

#categoriesObject



40
41
42
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 40

def categories
  Category.from_storting_doc @data_source.categories
end

#committees(session_id) ⇒ Object



24
25
26
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 24

def committees(session_id)
  Committee.from_storting_doc @data_source.committees(session_id)
end

#districtsObject



28
29
30
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 28

def districts
  District.from_storting_doc @data_source.districts
end

#parliament_issue_details(parliament_issue_id) ⇒ Object



48
49
50
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 48

def parliament_issue_details(parliament_issue_id)
  ParliamentIssueDetails.from_storting_doc @data_source.parliament_issue_details(parliament_issue_id)
end

#parliament_issues(session_id) ⇒ Object



44
45
46
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 44

def parliament_issues(session_id)
  ParliamentIssue.from_storting_doc @data_source.parliament_issues(session_id)
end

#parliament_periodsObject



32
33
34
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 32

def parliament_periods
  ParliamentPeriod.from_storting_doc @data_source.parliament_periods
end

#parliament_sessionsObject



36
37
38
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 36

def parliament_sessions
  ParliamentSession.from_storting_doc @data_source.parliament_sessions
end

#parties(session_id) ⇒ Object



20
21
22
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 20

def parties(session_id)
  Party.from_storting_doc @data_source.parties(session_id)
end

#person(person_id) ⇒ Object

Raises:

  • (NotImplementedError)


65
66
67
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 65

def person(person_id)
  raise NotImplementedError, "fix me"
end

#person_photo(person_id, size = :medium) ⇒ Object



69
70
71
72
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 69

def person_photo(person_id, size = :medium)
  # jpeg data - no parsing
  @data_source.person_photo(person_id, size)
end

#propositions_for(vote_id) ⇒ Object

Raises:

  • (NotImplementedError)


78
79
80
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 78

def propositions_for(vote_id)
  raise NotImplementedError, 'result of #votes_for includes propositions'
end

#representatives(period) ⇒ Object



12
13
14
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 12

def representatives(period)
  Representative.from_storting_doc @data_source.representatives(period)
end

#representatives_todayObject



16
17
18
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 16

def representatives_today
  Representative.from_storting_doc @data_source.representatives_today
end

#speaker_listObject

Raises:

  • (NotImplementedError)


74
75
76
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 74

def speaker_list
  raise NotImplementedError, "fix me"
end

#vote_results_for(vote_id) ⇒ Object

Raises:

  • (NotImplementedError)


82
83
84
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 82

def vote_results_for(vote_id)
  raise NotImplementedError, 'result of #votes_for includes vote results'
end

#votes_for(issue_id) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/hdo/storting_importer/parsing_data_source.rb', line 52

def votes_for(issue_id)
  votes = Vote.from_storting_doc @data_source.votes_for(issue_id)

  votes.each do |vote|
    vote.add_storting_propositions @data_source.propositions_for(vote.external_id)
    if vote.personal?
      vote.add_storting_results @data_source.vote_results_for(vote.external_id)
    end
  end

  votes
end