Class: GemfileInterpreter

Inherits:
Object
  • Object
show all
Defined in:
lib/gemfile_interpreter.rb,
lib/gemfile_interpreter/parser.rb,
lib/gemfile_interpreter/version.rb,
lib/gemfile_interpreter/readonly_bundler.rb

Defined Under Namespace

Modules: Parser, ReadonlyBundler Classes: GemfileLockMissingError, GemfileMissingError

Constant Summary collapse

VERSION =
'0.0.7'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dir, gemfile: 'Gemfile', lockfile: nil) ⇒ GemfileInterpreter

Returns a new instance of GemfileInterpreter.



8
9
10
11
12
13
14
# File 'lib/gemfile_interpreter.rb', line 8

def initialize dir, gemfile: 'Gemfile', lockfile: nil
  gemfile_path = File.join dir, gemfile
  lockfile_path = File.join dir, (lockfile || "#{gemfile}.lock")
  @parsed = nil
  @gems, @dependencies = ReadonlyBundler.load_gemfile gemfile_path, lockfile_path
  true
end

Instance Attribute Details

#dependenciesObject (readonly)

Returns the value of attribute dependencies.



16
17
18
# File 'lib/gemfile_interpreter.rb', line 16

def dependencies
  @dependencies
end

#gemsObject (readonly)

Returns the value of attribute gems.



16
17
18
# File 'lib/gemfile_interpreter.rb', line 16

def gems
  @gems
end

Instance Method Details

#parsedObject



18
19
20
# File 'lib/gemfile_interpreter.rb', line 18

def parsed
  @parsed = Parser.parse gems, dependencies
end

#to_jsonObject



22
23
24
# File 'lib/gemfile_interpreter.rb', line 22

def to_json
  parsed.to_json
end

#to_yamlObject



26
27
28
# File 'lib/gemfile_interpreter.rb', line 26

def to_yaml
  parsed.to_yaml
end