Module: Glom::Npm

Defined in:
lib/glom/registries/npm.rb

Constant Summary collapse

KEYWORDS =
['npm', 'node', 'nodejs', 'js', 'javascript', 'server-side', 'serverside', 'back-end']
NAME =
'npm'
URL =
'http://jiyinyiyong.github.io/nipster/packages.json'
BLACKLIST =
['jinja.js', 'joyentexpress']

Instance Method Summary collapse

Instance Method Details

#standardize(query) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/glom/registries/npm.rb', line 11

def standardize(query)
  json = Glom.get(URL)
  
  packages = JSON.parse(json)['packages'].select do |package|
    Glom.match(package[0], package[1], query) > 0 and !BLACKLIST.include?(package[0].downcase) if package[1].is_a? String and package[3].is_a? String and !package[5].nil?
  end

  packages.map do |package|
    [package[0], package[1], package[2], package[5], Time.parse(package[3]).time_ago_in_words, NAME, Glom.match(package[0], package[1], query) + 1]
  end
end