module Slacker::RSpecExt
Public Instance Methods
csv(csv_file)
click to toggle source
Loads a CSV file and returns a reference to it The file is relative to the data folder of the Slacker
project
# File lib/slacker/rspec_ext.rb, line 32 def csv(csv_file) Slacker.get_csv(csv_file) end
load_csv(csv_file_or_object, table_name, log_name = nil)
click to toggle source
Load a CSV file directly into a table in the target database
# File lib/slacker/rspec_ext.rb, line 42 def load_csv(csv_file_or_object, table_name, log_name = nil) log_name ||= "load_csv '#{csv_file_or_object.kind_of?(CSV::Table) ? 'CSV Object' : csv_file_or_object }', 'table_name'" csv_object = case csv_file_or_object when String then Slacker.get_csv(csv_file_or_object) when CSV::Table then csv_file_or_object when Array then Slacker.hash_array_to_csv(csv_file_or_object) end Slacker.load_csv(example, csv_object, table_name, log_name) end
match(golden_master)
click to toggle source
Get a matcher which will compare the query results to a golden master
# File lib/slacker/rspec_ext.rb, line 26 def match(golden_master) QueryResultMatcher.new(Slacker.filter_golden_master(golden_master)) end
query(query_string, options = {}, log_name = nil) { |results| ... }
click to toggle source
Execute a SQL query or the contents of a query template query file In case of a query file, it passes the options to the template
# File lib/slacker/rspec_ext.rb, line 10 def query(query_string, options = {}, log_name = nil) log_name ||= Slacker.construct_log_name('query', query_string, options) sql = Slacker.sql_from_query_string(query_string, options) @results = Slacker.query_script(example, sql, log_name) if block_given? yield @results end @results end
sql()
click to toggle source
Exposes a reference to the sql object, which represents the contents of the SQL folder
# File lib/slacker/rspec_ext.rb, line 21 def sql Slacker.sql(self) end
touch_csv(csv_file_or_object, fields, field_generators = {})
click to toggle source
Generate CSV::Table objects with an arbitrary number of records populated with data based on a template CSV file
# File lib/slacker/rspec_ext.rb, line 37 def touch_csv(csv_file_or_object, fields, field_generators = {}) Slacker.touch_csv(csv_file_or_object, fields, field_generators) end
yes?(val)
click to toggle source
# File lib/slacker/rspec_ext.rb, line 53 def yes?(val) val != nil && val.downcase == 'yes' end