Class: Trufflepig::FeatureList

Inherits:
Object
  • Object
show all
Defined in:
lib/trufflepig/feature_list.rb

Class Method Summary collapse

Class Method Details

.buildObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/trufflepig/feature_list.rb', line 9

def self.build
  caniuse  = JSON.parse File.read("#{File.dirname(__FILE__)}/../../data/caniuse.json")
  patterns = JSON.parse File.read("#{File.dirname(__FILE__)}/../../data/patterns.json")
  features = caniuse["data"]
  output   = []

  # Merge detection patterns into feature list
  patterns.keys.each do |key|
    features[key].merge!({"detection_pattern" => patterns[key]})
  end

  # Transform feature list to an array
  features.each do |key, feature|
    output << feature.merge({"id" => key})
  end

  # Sort array by feature id
  output.sort!{|a, b| a["id"] <=> b["id"] }

  # Write new features file
  of = File.open "#{File.dirname(__FILE__)}/../../data/features.json", "w"
  of.syswrite output.to_json
  of.close
end

.loadObject



5
6
7
# File 'lib/trufflepig/feature_list.rb', line 5

def self.load
  JSON.parse File.read("#{File.dirname(__FILE__)}/../../data/features.json")
end