Sha256: d63f79da114bdd0939257ad3bf8c36c8162219b2bbbffee3f6483526bf2ab005

Contents?: true

Size: 855 Bytes

Versions: 1

Compression:

Stored size: 855 Bytes

Contents

# frozen_string_literal: true

module GistUpdater
  class Updater
    def initialize(options, config_class = Config)
      @user             = options[:user] || ENV['GISTUPDATER_USER']
      @access_token     = options[:token] || ENV['GISTUPDATER_ACCESS_TOKEN']
      @config           = config_class.new(options[:yaml])
      GistUpdater.debug = options[:debug]
    end

    def update
      count = 0

      config.each do |gist_id:, file_paths:|
        file_paths.each do |file_path|
          count += 1 if update_by_gist(gist_id, file_path)
        end
      end

      count
    end

    private

    attr_reader :user, :access_token, :config

    def update_by_gist(id, file_path)
      Content.new(
        user: user,
        access_token: access_token,
        gist_id: id,
        file_path: file_path
      ).update_if_need
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gist_updater-0.3.0 lib/gist_updater/updater.rb