Sha256: 0da932772fd82b5f9c12cb2eb7080933cd0f737117bf0a335d27f1078c31d7d0

Contents?: true

Size: 981 Bytes

Versions: 10

Compression:

Stored size: 981 Bytes

Contents

require "json"

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

    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
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
trufflepig-0.2.13 lib/trufflepig/feature_list.rb
trufflepig-0.2.12 lib/trufflepig/feature_list.rb
trufflepig-0.2.11 lib/trufflepig/feature_list.rb
trufflepig-0.2.10 lib/trufflepig/feature_list.rb
trufflepig-0.2.9 lib/trufflepig/feature_list.rb
trufflepig-0.2.8 lib/trufflepig/feature_list.rb
trufflepig-0.2.7 lib/trufflepig/feature_list.rb
trufflepig-0.2.6 lib/trufflepig/feature_list.rb
trufflepig-0.2.5 lib/trufflepig/feature_list.rb
trufflepig-0.2.4 lib/trufflepig/feature_list.rb