Sha256: b2bb6770920c67e7fc5f4cf124257582b26c40753f34f242affd28091a7dd615

Contents?: true

Size: 616 Bytes

Versions: 5

Compression:

Stored size: 616 Bytes

Contents

require 'redpomo/config'

module Redpomo
  class Puller

    def initialize(options = {})
      @options = options
    end

    def execute
      list = Todo::List.new(
        config.issues.map(&:to_task) +
        unrelated_tasks
      )
      list.write_to(config.todo_path)
    end

    private

    def config
      @config ||= Redpomo::Config.new(@options[:config])
    end

    def trackers_contexts
      @trackers_context ||= config.trackers.map(&:context)
    end

    def unrelated_tasks
      config.tasks.select do |task|
        ! task.include_contexts?(trackers_contexts)
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
redpomo-0.0.5 lib/redpomo/puller.rb
redpomo-0.0.4 lib/redpomo/puller.rb
redpomo-0.0.3 lib/redpomo/puller.rb
redpomo-0.0.2 lib/redpomo/puller.rb
redpomo-0.0.1 lib/redpomo/puller.rb