lib/mwo/mech.rb in mwo-0.1.0 vs lib/mwo/mech.rb in mwo-0.1.1

- old
+ new

@@ -15,20 +15,53 @@ raw["Mechs"].each do |name, attrs| # Remove the loadout from the index. attrs.delete('Loadout') + # The mech classification value is broken in the API + attrs.delete('Class') + attrs["WeightClass"] = case attrs['MaxTons'] + when 0..35 + 'Light' + when 36..55 + 'Medium' + when 56..75 + 'Heavy' + when 76..100 + 'Assault' + when 101.300 + 'Experimental' + end + # Remove the 'class' attribute, it is bugged from the API attrs.delete('Loadout') mech = {} attrs.each do |k,v| mech[to_symbol(k)] = v end + # set override the invalid classification mechs << new(mech) end - mechs + + return mechs.extend MWO::CollectionUtils + end + + def self.lights + all.filter({weight_class: 'Light'}) + end + + def self.mediums + all.filter({weight_class: 'Medium'}) + end + + def self.heavies + all.filter({weight_class: 'Heavy'}) + end + + def self.assaults + all.filter({weight_class: 'Assault'}) end def self.dictionary client = MWO::Client.new(overrides: {}) raw = fetch(client.mech_ids_url)