Sha256: 4cbd17a6998e31ef98be18ca5f983867404db1e7dabe6e36eb0ce92c176d6a76

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

require 'ruby_fly/version'
require 'ruby_fly/commands'
require 'ruby_fly/rc'

module RubyFly
  class << self
    attr_writer :configuration

    def configuration
      @configuration ||= Configuration.new
    end

    def configure
      yield(configuration)
    end

    def reset!
      @configuration = nil
    end
  end

  module ClassMethods
    def login(opts = {})
      Commands::Login.new.execute(opts)
    end

    def status(opts = {})
      Commands::Status.new.execute(opts)
    end

    def get_pipeline(opts = {})
      Commands::GetPipeline.new.execute(opts)
    end

    # rubocop:disable Naming/AccessorMethodName
    def set_pipeline(opts = {})
      Commands::SetPipeline.new.execute(opts)
    end
    # rubocop:enable Naming/AccessorMethodName

    def unpause_pipeline(opts = {})
      Commands::UnpausePipeline.new.execute(opts)
    end

    def destroy_pipeline(opts = {})
      Commands::DestroyPipeline.new.execute(opts)
    end

    def version
      Commands::Version.new.execute
    end
  end
  extend ClassMethods

  def self.included(other)
    other.extend(ClassMethods)
  end

  class Configuration
    attr_accessor :binary, :stdin, :stdout, :stderr

    def initialize
      @binary = 'fly'
      @stdin = ''
      @stdout = $stdout
      @stderr = $stderr
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby_fly-0.38.0.pre.3 lib/ruby_fly.rb