Sha256: c007ce6001dc002a4d104ef433019cc7a8f98047b2619a78799291aecfdea1b1

Contents?: true

Size: 1.37 KB

Versions: 3

Compression:

Stored size: 1.37 KB

Contents

module FactoryToys
  class MissingEnvironmentError < StandardError; end
  class CloseTagNotFoundError < StandardError; end
  class MissingForeachListError < StandardError; end
  class InternalForEachError < StandardError; end
  class MissingScenarioError < StandardError; end

  class << self
    attr_accessor :features_directory, :source_directory
    attr_accessor :factories
    attr_accessor :scenario, :scenarios

    def factories
      @factories ||= []
    end

    def source_location
      @source_location = ::RAILS_ROOT + '/' + self.source_directory
    rescue NameError
      raise MissingEnvironmentError
    end

    def features_location
      @features_location = ::RAILS_ROOT + '/' + self.features_directory
    rescue NameError
      raise MissingEnvironmentError
    end

    protected
    def source_files
      Dir.glob(self.source_location + '/*.rb')
    rescue Errno::ENOENT => e
      return "Source Directory Does not exist: #{self.source_directory}"
    end

    public
    def update_features
      self.source_files.each do |file|
        ft = FactoryToys::FFactory.new(file)
        ft.write
      end
    end
  end

  autoload :FFactory, 'factory_toys/f_factory'
  autoload :Parser, 'factory_toys/parser'
end

FactoryToys.scenarios = 'feature'
FactoryToys.scenario = 'scenario'
FactoryToys.features_directory = 'features'
FactoryToys.source_directory = 'ffactories'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
factory_toys-0.2.3 lib/factory_toys.rb
factory_toys-0.2.2 lib/factory_toys.rb
factory_toys-0.2.1 lib/factory_toys.rb