Sha256: b692fb6db0a8e4c1270236567b8608513f258f377d70c2ce336420d7a2c15800
Contents?: true
Size: 1.32 KB
Versions: 5
Compression:
Stored size: 1.32 KB
Contents
module CucumberExt def self.included(obj) #add_set_images_to_results(obj) add_images_to_results(obj) add_push_image_to_results(obj) add_delete_images_to_results(obj) end def self.add_delete_images_to_results(klass) klass.class_eval { define_method('delete_images') { Cucumber::Constants::IMAGES.each { |i| Cucumber::Constants::IMAGES.delete(i) } } } end def self.add_set_images_to_results(klass) klass.class_eval { define_method('set_images') { @images = [] unless @images.kind_of?(Array) } } end def self.add_images_to_results(klass) klass.class_eval { define_method('images') { #set_images Cucumber::Constants::IMAGES #@images } } end def self.add_push_image_to_results(klass) klass.class_eval { define_method('add_image') { |params={}, &block| raise ArgumentError unless params.has_key?(:src) raise ArgumentError unless params.has_key?(:label) Cucumber::Constants::IMAGES << {:src => params[:src], :label => params[:label]} } } end end module Cucumber module Constants IMAGES = [] end class Runtime class ForProgrammingLanguages include CucumberExt end end class StepMother < Runtime include CucumberExt end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
whirlwind-0.1.8 | lib/cucumber.rb |
whirlwind-0.1.7 | lib/cucumber.rb |
whirlwind-0.1.6 | lib/cucumber.rb |
whirlwind-0.1.5 | lib/cucumber.rb |
whirlwind-0.1.4 | lib/cucumber.rb |