diff --git a/lib/mysql2/result.rb b/lib/mysql2/result.rb index 585104e0b..6cc76e6f7 100644 --- a/lib/mysql2/result.rb +++ b/lib/mysql2/result.rb @@ -2,6 +2,10 @@ module Mysql2 class Result attr_reader :server_flags + def empty? + count.zero? + end + include Enumerable end end diff --git a/spec/mysql2/result_spec.rb b/spec/mysql2/result_spec.rb index a70b38ef0..f934ed476 100644 --- a/spec/mysql2/result_spec.rb +++ b/spec/mysql2/result_spec.rb @@ -45,6 +45,7 @@ r = @client.query "SELECT 1" expect(r.count).to eql(1) expect(r.size).to eql(1) + expect(r.empty?).to eq(false) end context "metadata queries" do @@ -53,6 +54,18 @@ end end + context "#empty?" do + it "should return true when result is not exists" do + r = @client.query "SELECT * FROM mysql2_test WHERE 0 = 1" + expect(r).to be_empty + end + + it "should return false when result exists" do + r = @client.query "SELECT 1" + expect(r).not_to be_empty + end + end + context "#each" do it "should yield rows as hash's" do @result.each do |row|