lib/gist_updater/updater.rb in gist_updater-0.4.2 vs lib/gist_updater/updater.rb in gist_updater-0.4.3
- old
+ new
@@ -2,27 +2,28 @@
module GistUpdater
# Updates according to user configuration
class Updater
# @param options [Hash] options generated by Thor
- # @param config_class [Class] a Class which has configuration duty
+ # @param config_class [Class] A Class which has configuration duty
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
# Update your Gist
#
+ # @param content_class [Class] A Class which has content duty
# @return [Array<Sawyer::Resource>] Updated resource(s)
- def update
+ def update(content_class = Content)
updated = []
config.each do |gist_id:, file_paths:|
file_paths.each do |file_path|
- updated << update_by_gist(gist_id, file_path)
+ updated << update_by_gist(gist_id, file_path, content_class)
end
end
updated.compact
end
@@ -31,12 +32,15 @@
attr_reader :user, :access_token, :config
# Update a Gist file
#
+ # @param id [String] A gist id
+ # @param file_path [String] A relative file path
+ # @param content_class [Class] A Class which has content duty
# @return (see GistUpdater::Content#update_if_need)
- def update_by_gist(id, file_path)
- Content.new(
+ def update_by_gist(id, file_path, content_class)
+ content_class.new(
user: user,
access_token: access_token,
gist_id: id,
file_path: file_path
).update_if_need