Sha256: be71191755f736c072cd5979b3667501d4774fa4f571f0ed322583e209b48ec3

Contents?: true

Size: 1.24 KB

Versions: 15

Compression:

Stored size: 1.24 KB

Contents

# -*- encoding: utf-8 -*-

module WatchTower
  class Project
    module Init
      def self.included(base)
        base.extend ClassMethods
        base.send :include, InstanceMethods
      end

      module ClassMethods
        # Create a new project from a path (to a file or a folder)
        #
        # @param [String] path, the path to the file
        # @return [Project] a new initialized project
        def new_from_path(path)
          raise FileNotFound unless path && File.exists?(path)
          LOG.debug("#{__FILE__}:#{__LINE__}: Creating a project from #{path}")
          if GitBased.active_for_path?(path)
            Project.new GitBased.project_name(path), GitBased.working_directory(path)
          else
            Project.new PathBased.project_name(path), PathBased.working_directory(path)
          end
        end
      end

      module InstanceMethods
        # Initialize a project using a name and a path
        #
        # @param [String] name: the name of the project
        # @param [String] path: The path of the project
        def initialize(name, path)
          LOG.debug("#{__FILE__}:#{__LINE__}: Created project #{name} located at #{path}")
          @name = name
          @path = path
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
watch_tower-0.0.3 lib/watch_tower/project/init.rb
watch_tower-0.0.2 lib/watch_tower/project/init.rb
watch_tower-0.0.1 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta12 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta11 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta10 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta9 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta8 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta7 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta6 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta5 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta4 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta3 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta2 lib/watch_tower/project/init.rb
watch_tower-0.0.1.beta1 lib/watch_tower/project/init.rb