lib/ika3/weapons.rb in ika3-0.4.0 vs lib/ika3/weapons.rb in ika3-0.4.1

- old
+ new

@@ -1,9 +1,11 @@ +# frozen_string_literal: true + module Ika3 class Weapon - ATTRIBUTES = [ - :name, :sub, :special + ATTRIBUTES = %i[ + name sub special ].freeze ATTRIBUTES.each do |attribute| define_method attribute do self[attribute] @@ -33,17 +35,17 @@ end def filter_by_sub(sub_name) raise "unknown sub weapon: #{sub_name}" unless sub_weapons.values.include?(sub_name) - config.values.filter{|weapon| weapon[:sub] == sub_name} + config.values.filter { |weapon| weapon[:sub] == sub_name } end def reload_config! @cache = {} @config = nil - @config_sub_weapons = nil + @sub_weapons = nil config config_sub_weapons end private @@ -71,20 +73,16 @@ end @sub_weapon_hash end def config - unless @config - @config = load_yaml_file("#{File.dirname(__FILE__)}/../../config/weapons.yml").deep_symbolize_keys - end + @config ||= load_yaml_file("#{File.dirname(__FILE__)}/../../config/weapons.yml").deep_symbolize_keys @config end def config_sub_weapons - unless @config_sub_weapons - @config_sub_weapons = load_yaml_file("#{File.dirname(__FILE__)}/../../config/sub_weapons.yml").deep_symbolize_keys - end - @config_sub_weapons + @sub_weapons ||= load_yaml_file("#{File.dirname(__FILE__)}/../../config/sub_weapons.yml").deep_symbolize_keys + @sub_weapons end def valid?(weapon_key) names.include?(weapon_key) end