class Writefully::Tools::Hammer

Attributes

api[R]
message[R]

Public Class Methods

new(message) click to toggle source
# File lib/writefully/tools/hammer.rb, line 8
def initialize message
  @message = message
  @api = Github.new oauth_token: message[:auth_token]
end

Public Instance Methods

add_hook_for(repo_name) click to toggle source
# File lib/writefully/tools/hammer.rb, line 32
def add_hook_for repo_name
  Writefully.logger.info "Adding hook for #{message[:site_slug]}"
  api.repos.hooks.create message[:user_name], repo_name, hook_config
rescue Exception => e
  raise e
end
forge() click to toggle source
# File lib/writefully/tools/hammer.rb, line 25
def forge
  Writefully.logger.info "Forging #{message[:site_slug]}"
  api.repos.create name: message[:site_slug], auto_init: true
rescue Exception => e
  raise e
end
hook_config() click to toggle source
# File lib/writefully/tools/hammer.rb, line 13
def hook_config
  { name: 'web',
    events: ["push", "member"],
    active: true,
    config: { 
      url: "#{message[:domain]}/writefully/hook", 
      content_type: 'json',
      secret: Writefully.options[:hook_secret]
    } 
  }
end