Я пытаюсь найти способ пройти следующий тест, но я продолжаю использовать циклы внутри циклов, которые ужасно. Может ли кто-нибудь помочь? Вот тест:Поиск конкретных значений с помощью массива хэшей
require 'spec_helper'
describe Promotion_Check do
let(:check) { Promotion_Check.new rules_list }
let(:item_rule) { {rule_type: "item", item_code: 1, number_of_items: 2, new_item_price: 8.50} }
let(:total_rule) { {rule_type: "total", total_price_break: 60.00, discount_percentage: 10} }
let(:rules_list) { [ 1 => item_rule, 2 => total_rule ] }
describe "#applicable_item_rules" do
it "finds the rules that apply to the baskets items" do
item_code = 1
count = 2
expect(check.applicable_item_rules(item_code, count)).to eq [item_rule]
end
end
end
В принципе, я хочу, чтобы искать массив хэшей, как так:
rules_list = [ 1 => {rule_type: "item", item_code: 1, number_of_items: 2, new_item_price: 8.50}, 2 => {rule_type: "item", item_code: 2, number_of_items: 4, new_item_price: 7.50}]
за все, что имеет значение с совпадающим: ITEM_CODE и: NUMBER_OF_ITEMS и нажать это значение в массив.
Спасибо за любую помощь