Module: Squared::Repo

Defined in:
lib/squared/repo.rb,
lib/squared/repo/project.rb,
lib/squared/repo/workspace.rb,
lib/squared/repo/project/git.rb,
lib/squared/repo/project/base.rb,
lib/squared/repo/project/node.rb,
lib/squared/repo/project/ruby.rb,
lib/squared/repo/project/python.rb

Defined Under Namespace

Modules: Project Classes: Workspace

Class Method Summary collapse

Class Method Details

.expect(name) ⇒ Object

Raises:

  • (NoMethodError)


18
19
20
21
22
23
# File 'lib/squared/repo.rb', line 18

def expect(name)
  ret = project(name)
  return ret if ret&.path&.directory?

  raise NoMethodError, message('project is not initialized', name)
end

.project?(name) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/squared/repo.rb', line 25

def project?(name)
  !!project(name)&.enabled?
end

.resolve(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/squared/repo.rb', line 6

def resolve(*args)
  ret = args.map do |id|
    if id.is_a?(::Symbol)
      project id
    else
      (id = Pathname.new(id).realdirpath.to_s) rescue nil if id.is_a?(::String)
      get(:project).find { |_, val| val.path.to_s == id.to_s }
    end
  end
  ret.size == 1 ? ret.first : ret
end