Sha256: ac5cdd09d68c5817785b01875864c62a6dbdb7d1a2d60aa6c789baefa876f771

Contents?: true

Size: 978 Bytes

Versions: 1

Compression:

Stored size: 978 Bytes

Contents

module MagicLamp
  LAMP = "_lamp"
  MAGIC_LAMP = "magic#{LAMP}"
  SPEC = "spec"
  STARS = "**"
  TEST = "test"
  TMP = "tmp"
  TMP_PATH = [TMP, MAGIC_LAMP]

  class << self
    def path
      Rails.root.join(directory_path)
    end

    def create_fixture(fixture_name, controller_class, &block)
      FixtureCreator.new.create_fixture(fixture_name, controller_class, &block)
    end

    def load_lamp_files
      create_tmp_directory
      require_all(Dir[path.join(STARS, "*#{LAMP}.rb")])
    end

    def tmp_path
      Rails.root.join(*TMP_PATH)
    end

    def create_tmp_directory
      FileUtils.mkdir_p(tmp_path)
    end

    def remove_tmp_directory
      FileUtils.rm_rf(tmp_path)
    end

    private

    def directory_path
      Dir.exist?(Rails.root.join(SPEC)) ? SPEC : TEST
    end

    def require_all(files)
      files.each { |file| require file }
    end
  end
end

require "fileutils"
require "magic_lamp/fixture_creator"
require "tasks/magic_lamp_tasks"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
magic_lamp-0.9.0 lib/magic_lamp.rb