Class: CobraCommander::Dependencies::Yarn::Package

Inherits:
Object
  • Object
show all
Defined in:
lib/cobra_commander/dependencies/yarn/package.rb

Overview

Represents an Yarn package.json file

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ Package

Returns a new instance of Package.



13
14
15
# File 'lib/cobra_commander/dependencies/yarn/package.rb', line 13

def initialize(path)
  @path = ::Pathname.new(File.join(path, "package.json")).realpath
end

Instance Attribute Details

#pathObject (readonly)

Returns the value of attribute path.



11
12
13
# File 'lib/cobra_commander/dependencies/yarn/package.rb', line 11

def path
  @path
end

Instance Method Details

#dependenciesObject



25
26
27
28
# File 'lib/cobra_commander/dependencies/yarn/package.rb', line 25

def dependencies
  json.fetch("dependencies", {})
      .merge(json.fetch("devDependencies", {}))
end

#nameObject



21
22
23
# File 'lib/cobra_commander/dependencies/yarn/package.rb', line 21

def name
  json["name"]
end

#project_tagObject



17
18
19
# File 'lib/cobra_commander/dependencies/yarn/package.rb', line 17

def project_tag
  name.match(%r{^@[\w-]+/}).to_s
end