Sha256: 16bf5cc5ea3d053c9870944de54b4331f98cdea9a90b2c4e725036031696c181

Contents?: true

Size: 876 Bytes

Versions: 2

Compression:

Stored size: 876 Bytes

Contents

# frozen_string_literal: true

module RSGem
  class Context
    attr_reader :options

    def initialize(options:)
      @options = options

      raise MissingGemNameError unless options[:gem_name]
    end

    def ci_provider
      @ci_provider ||= begin
        return RSGem::Constants::DEFAULT_CI_PROVIDER unless (name = options[:ci_provider])

        RSGem::Constants::CI_PROVIDERS.detect do |provider|
          provider.name == name
        end
      end
    end

    def gemfile_path
      "#{folder_path}/Gemfile"
    end

    def gem_name
      @gem_name ||= options[:gem_name]
    end

    def gemspec_path
      "#{folder_path}/#{gem_name}.gemspec"
    end

    def folder_path
      `pwd`.sub("\n", '/') + gem_name
    end

    def gitignore_path
      "#{folder_path}/.gitignore"
    end

    def rakefile_path
      "#{folder_path}/Rakefile"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rsgem-0.1.1 lib/rsgem/context.rb
rsgem-0.1.0 lib/rsgem/context.rb