class GistUpdater::Updater
Updates according to user configuration
Attributes
access_token[R]
config[R]
user[R]
Public Class Methods
new(options, config_class = Config)
click to toggle source
@param options [Hash] options generated by Thor @param config_class [Class] A Class which has configuration duty
# File lib/gist_updater/updater.rb, line 8 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
Public Instance Methods
update(content_class = Content)
click to toggle source
Update your Gist
@param content_class [Class] A Class which has content duty @return [Array<Sawyer::Resource>] Updated resource(s)
# File lib/gist_updater/updater.rb, line 19 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, content_class) end end updated.compact end
Private Instance Methods
update_by_gist(id, file_path, content_class)
click to toggle source
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
)
# File lib/gist_updater/updater.rb, line 41 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 end