class Npm::Rails::PackageFileParser

Attributes

packages[R]

Public Class Methods

new() click to toggle source
# File lib/npm/rails/package_file_parser.rb, line 13
def initialize
  @packages = []
  @development = false
end
parse(package_file_path) click to toggle source
# File lib/npm/rails/package_file_parser.rb, line 7
def self.parse(package_file_path)
  parser = new
  parser.parse(package_file_path)
  parser.packages
end

Public Instance Methods

parse(package_file_path) click to toggle source
# File lib/npm/rails/package_file_parser.rb, line 18
def parse(package_file_path)
 @package_file = File.open(package_file_path, "r", &:read)
 eval(@package_file)
end

Private Instance Methods

development() { || ... } click to toggle source
# File lib/npm/rails/package_file_parser.rb, line 33
def development
  @development = true
  yield
  @development = false
end
npm(package_name, *args) click to toggle source
# File lib/npm/rails/package_file_parser.rb, line 25
def npm(package_name, *args)
  options = args.last.is_a?(Hash) ? args.pop : {}
  options = { development: @development }.merge(options)
  version = args.empty? ? "latest" : args.pop

  @packages << Npm::Rails::Package.new(package_name, version, options)
end