From 0a5e8fe6293333d1ed4d30828d5ee413d88b39a4 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Thu, 23 Jul 2015 09:36:09 +1000 Subject: [PATCH] Report class can define and retrieve header --- lib/open_food_network/reports/report.rb | 14 ++++++++++++++ spec/lib/open_food_network/reports/report_spec.rb | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 lib/open_food_network/reports/report.rb create mode 100644 spec/lib/open_food_network/reports/report_spec.rb diff --git a/lib/open_food_network/reports/report.rb b/lib/open_food_network/reports/report.rb new file mode 100644 index 0000000000..f92e268765 --- /dev/null +++ b/lib/open_food_network/reports/report.rb @@ -0,0 +1,14 @@ +module OpenFoodNetwork::Reports + class Report + # -- API + def header + @@header + end + + + # -- DSL + def self.header(*columns) + @@header = columns + end + end +end diff --git a/spec/lib/open_food_network/reports/report_spec.rb b/spec/lib/open_food_network/reports/report_spec.rb new file mode 100644 index 0000000000..4b64ea0f23 --- /dev/null +++ b/spec/lib/open_food_network/reports/report_spec.rb @@ -0,0 +1,15 @@ +require 'open_food_network/reports/report' + +module OpenFoodNetwork::Reports + class TestReport < Report + header 'One', 'Two', 'Three' + end + + describe Report do + let(:report) { TestReport.new } + + it "returns the header" do + report.header.should == %w(One Two Three) + end + end +end