ruby

package
v1.1.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2021 License: MPL-2.0 Imports: 10 Imported by: 2

Documentation

Overview

Package ruby provides analysers for Ruby projects.

A `BuildTarget` in Ruby is the directory of the Ruby project, generally containing `Gemfile` and `Gemfile.lock`.

Index

Constants

View Source
const (
	AnalyzerName = "ruby"

	BundlerListStrategy     = "list"
	BundlerLockStrategy     = "lockfile"
	BundlerListLockStrategy = "list-lockfile"
)

Variables

View Source
var RubyAnalyzer = module.AnalyzerV2{
	Name:         AnalyzerName,
	DiscoverFunc: NewDiscover,
	Strategies: module.Strategies{
		Named: map[module.StrategyName]module.Strategy{
			BundlerListStrategy:     analyzeBundlerList,
			BundlerLockStrategy:     analyzeBundlerLockfile,
			BundlerListLockStrategy: analyzeBundlerListLockfile,
		},
		Optimal: []module.StrategyName{BundlerListLockStrategy},
		SortedNames: []module.StrategyName{
			BundlerListLockStrategy,
			BundlerLockStrategy,
			BundlerListStrategy,
		},
	},
}

Functions

func Discover

func Discover(dir string, options map[string]interface{}) ([]module.Module, error)

Discover constructs modules in all directories with a `Gemfile`.

func NewDiscover added in v1.0.8

Types

type Analyzer

type Analyzer struct {
	Bundler bundler.Bundler
	Module  module.Module
	Options Options
}

func New

func New(m module.Module) (*Analyzer, error)

func (*Analyzer) Analyze

func (a *Analyzer) Analyze() (graph.Deps, error)

func (*Analyzer) Build

func (a *Analyzer) Build() error

func (*Analyzer) Clean

func (a *Analyzer) Clean() error

Clean logs a warning and does nothing for Ruby.

func (*Analyzer) IsBuilt

func (a *Analyzer) IsBuilt() (bool, error)

type Options

type Options struct {
	Strategy     string `mapstructure:"strategy"`
	LockfilePath string `mapstructure:"gemfile-lock-path"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL