Skip to content

Commit

Permalink
Add README docs about using unstable position data
Browse files Browse the repository at this point in the history
We want to add an interface for interacting with unstable position data
to viewer-sinatra. This interface is an extension to the
`EveryPolitician::Legislature` class, which operates on the
`unstable/positions.csv` file in a legislature's directory in
everypolitician-data.
  • Loading branch information
chrismytton committed Feb 21, 2017
1 parent 8e9823e commit 43c9bbf
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,31 @@ bundle exec rake test:all
bundle exec rake
```

## Internal documentation

### Interacting with unstable data

We use data from the `unstable/positions.csv` file in a legislature's directory to display cabinet memberships on the website. Because this data is unstable there currently aren't methods in [the `everypolitician` gem](https://github.com/everypolitician/everypolitician-ruby) for interacting with it, so viewer-sinatra has some of its own classes for dealing with it. These classes live in the `lib/everypolitician_extensions.rb` file and are documented below.

#### Get all cabinet memberships for a person

To print all of the known cabinet memberships for a person, you can do the following:

```ruby
house_of_commons = Everypolitician::Index.new.country('UK').legislature('Commons')
person = house_of_commons.popolo.persons.find_by(name: 'Gordon Brown')

person.cabinet_memberships.each do |membership|
puts "#{person.name} was #{membership.label} #{membership.start_date} - #{membership.end_date}"
end
```

Which will output something like this:

```
Gordon Brown was Prime Minister of the United Kingdom 2007-06-27 - 2010-05-11
Gordon Brown was Chancellor of the Exchequer 1997-05-02 - 2007-06-27
```

## Sinatra, SASS, styling

Expand Down

0 comments on commit 43c9bbf

Please sign in to comment.