class Gitomator::Travis::CIProvider
Public Class Methods
from_config(config = {})
click to toggle source
@param config [Hash<String,Object>] @return [Gitomator::GitHub::HostingProvider] GitHub
hosting provider.
# File lib/gitomator/travis/ci_provider.rb, line 19 def self.from_config(config = {}) config = config.map {|k,v| [k.to_s, v] } .to_h if config['provider'] == 'travis' uri = ::Travis::Client::ORG_URI elsif config['provider'] == 'travis_pro' uri = ::Travis::Client::PRO_URI else raise "Invalid Travis CI provider name, #{config['provider']}." end if config['access_token'] access_token = config['access_token'] elsif config['github_access_token'] access_token = ::Travis.github_auth(config['github_access_token']) else raise "Invalid Travis CI provider config - #{config}" end travis_client = ::Travis::Client.new({:uri => uri, :access_token => access_token }) return new(travis_client, config['github_organization']) end
new(travis_client, github_organization, opts={})
click to toggle source
@param travis_client [Travis::Client::Session] @param github_organization [String] - Default GitHub
organization
# File lib/gitomator/travis/ci_provider.rb, line 50 def initialize(travis_client, github_organization, opts={}) raise "Travis client is nil" if travis_client.nil? @travis = travis_client @org = github_organization @repo_name_resolver = Gitomator::Util::Repo::NameResolver.new(@org) end
Public Instance Methods
_find_repo_and_execute_block(repo) { |repo(full_name)| ... }
click to toggle source
# File lib/gitomator/travis/ci_provider.rb, line 62 def _find_repo_and_execute_block(repo) begin yield @travis.repo(@repo_name_resolver.full_name(repo)) rescue ::Travis::Client::NotFound return nil end end
ci_enabled?(repo)
click to toggle source
# File lib/gitomator/travis/ci_provider.rb, line 79 def ci_enabled?(repo) _find_repo_and_execute_block(repo) {|r| r.reload.active? } end
disable_ci(repo, opts={})
click to toggle source
# File lib/gitomator/travis/ci_provider.rb, line 75 def disable_ci(repo, opts={}) _find_repo_and_execute_block(repo) {|r| r.disable} end
enable_ci(repo, opts={})
click to toggle source
# File lib/gitomator/travis/ci_provider.rb, line 71 def enable_ci(repo, opts={}) _find_repo_and_execute_block(repo) {|r| r.enable} end
name()
click to toggle source
# File lib/gitomator/travis/ci_provider.rb, line 57 def name :travis end
sync(blocking=false, opts={})
click to toggle source
@param blocking [Boolean]
# File lib/gitomator/travis/ci_provider.rb, line 88 def sync(blocking=false, opts={}) @travis.user.sync() while blocking && syncing? sleep(1) end end
syncing?(opts={})
click to toggle source
@return Boolean - Indicates whether a sync' is currently in progress.
# File lib/gitomator/travis/ci_provider.rb, line 99 def syncing?(opts={}) @travis.user.reload.syncing? end