Best Vcr_ruby code snippet using Header.header_key
column.rb
Source:column.rb
...14 ## turn empty normalized tags (e.g. "stray" hashtag) into nil too15 if value.empty?16 nil17 else18 header_key =19 ## todo/fix: pass in column index - why? why not?20 ## pass in column index for all columns (or only tagged ones?) or both?21 ## if header_converter.arity == 1 # straight converter22 header_converter.call( tag_key )23 ## else24 ## header_converter.call( value, index )25 ## end26 ## note:27 ## return nil, "" or false to skip column28 if header_key.nil? || header_key.empty? || header_key == false ## check again: skip empty "" columns29 nil30 else31 ## note: return header_key (used for returned record/hash) AND tag_key (used for type conversion config)32 ## lets us fold more columns into one or splat single list/array columns into many33 [header_key,tag_key]34 end35 end36 end37 else # keep (nil) as is38 nil39 end40 end41 counts = {}42 keys.each_with_index do |key,i|43 if key44 header_key = key[0]45 counts[header_key] ||= []46 counts[header_key] << i47 end48 end49 ## puts "counts:"50 ## pp counts51 ## create all unique tags (used for type conversion)52 tags = {}53 keys.each do |key|54 if key55 tag_key = key[1]56 tags[tag_key] ||= Tag.parse( tag_key ) ## note: "reuse" tag for all columns if same tag key57 end58 end59 ## puts "tags:"60 ## pp tags61 cols = []62 keys.each do |key|63 if key64 header_key = key[0]65 tag_key = key[1]66 count = counts[header_key]67 tag = tags[tag_key] ## note: "reuse" tag for all columns if same tag key68 if count.size > 169 ## note: defaults to use "standard/default" tag key (as a string)70 cols << Column.new( header_key, tag, list: true )71 else72 cols << Column.new( header_key, tag )73 end74 else75 cols << Column.new76 end77 end78 cols79 end80end ## class Columns81class Column82 attr_reader :key # used for record (record key); note: list columns must use the same key83 attr_reader :tag84 def initialize( key=nil, tag=nil, list: false )85 @key = key86 @tag = tag...
page_serving_steps.rb
Source:page_serving_steps.rb
...9When(/^I go to page "(.*)"$/) do |url|10 visit url11 @old_headers ||= response.headers.dup12end13When(/^I go to page ['"](.*)['"] sending the ([-\w]+)$/) do |url, header_key|14 send_header_key = case header_key15 when 'ETag'16 'If-None-Match'17 when 'Last-Modified'18 'If-Modified-Since'19 end20 get url, {}, send_header_key => @old_headers[header_key]21end22Then /^I should get a (\d+) response code$/ do |code|23 response.response_code.should == code.to_i24end25Then /^I should get the same ([-\w]+) header$/ do |header_key|26 response.headers[header_key].should == @old_headers[header_key]27end28Given /^I have turned on X\-Sendfile headers$/ do29 Radiant::Cache.use_x_sendfile = true30end31Then /^I should( not)? get an "([^\"]*)" header in the response$/ do |status, header_key|32 if status.nil?33 response.headers.to_hash[header_key].should_not be_empty34 else35 response.headers.to_hash[header_key].should be_empty36 end37end38Given /^I have turned on X\-Accel\-Redirect headers$/ do39 Radiant::Cache.use_x_accel_redirect = "/cache"40end41Given /^I have page caching (on|off)$/ do |status|42 set_page_cache status43end44Then /^The "([^\"]*)" header should be "([^\"]*)"$/ do |header_key, value|45 response.headers.to_hash[header_key].should =~ Regexp.new(value)46end47def set_page_cache(status)48 Page.class_eval %{49 def cache?50 #{status != 'off'}51 end52 }, __FILE__, __LINE__53end...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!