<commit_before>/* global getPinnedFlights, pinFlight, unpinFlight */

import Ember from 'ember';

export default Ember.Service.extend({
  pinned: Ember.computed(function() {
    return getPinnedFlights();
  }),

  toggle(id) {
    let pinned = this.get('pinned');
    if (pinned.contains(id)) {
      unpinFlight(id);
      this.set('pinned', pinned.without(id));
    } else {
      pinFlight(id);
      this.set('pinned', pinned.concat([id]));
    }
  },
});<commit_msg>services/pinned-flights: Extract pin() and unpin() methods<commit_after>/* global getPinnedFlights, pinFlight, unpinFlight */

import Ember from 'ember';

export default Ember.Service.extend({
  pinned: Ember.computed(function() {
    return getPinnedFlights();
  }),

  pin(id) {
    pinFlight(id);
    this.set('pinned', this.get('pinned').concat([id]));
  },

  unpin(id) {
    unpinFlight(id);
    this.set('pinned', this.get('pinned').without(id));
  },

  toggle(id) {
    if (this.get('pinned').contains(id)) {
      this.unpin(id);
    } else {
      this.pin(id);
    }
  },
});
{'fraction_non_alphanumeric': 0.1824196597353497, 'fraction_numerical': 0.0, 'mean_word_length': 3.48728813559322, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4921511', 'n_tokens_mistral': 388, 'n_tokens_neox': 379, 'n_words': 64}