module CCK::Examples
def cck_features_folder_location
def cck_features_folder_location File.expand_path("#{File.dirname(__FILE__)}/../../features/") end
def feature_code_for(example_name)
i.e. 'attachments' would return the fully qualified path to the attachments folder
Return the path for a specific example scenario based on its name
def feature_code_for(example_name) path = File.join(cck_features_folder_location, example_name) return path if File.directory?(path) raise ArgumentError, "No feature code directory found in gem for CCK example: #{example_name}" end
def file_type_in_folder?(extension, folder)
def file_type_in_folder?(extension, folder) Dir.entries(folder).any? { |file| File.extname(file) == extension } end
def gherkin
def gherkin Dir.entries(cck_features_folder_location).select do |file_or_folder| next if file_or_folder.start_with?('.') gherkin_example?(File.join(cck_features_folder_location, file_or_folder)) end end
def gherkin_example?(example_folder)
def gherkin_example?(example_folder) file_type_in_folder?('.feature', example_folder) end
def markdown
Return the paths for each example that is of 'markdown' type
def markdown Dir.entries(cck_features_folder_location).select do |file_or_folder| next if file_or_folder.start_with?('.') markdown_example?(File.join(cck_features_folder_location, file_or_folder)) end end
def markdown_example?(example_folder)
def markdown_example?(example_folder) file_type_in_folder?('.md', example_folder) end