Sha256: 26e51aba88c12025572b5781773c5058ae4d0b70d9a9edc57965f570ea64d679

Contents?: true

Size: 888 Bytes

Versions: 8

Compression:

Stored size: 888 Bytes

Contents

require 'thor'

require_relative './project_interface/commands'

module Susanoo
  module CLI
    # Project wide `Thor` class which is responsible for
    # each command that user execute inside project
    class ProjectInterface < Thor

      # Include the Thor actions
      include ::Thor::Actions

      package_name 'Susanoo'

      # Set the project root
      def self.root=(path)
        @@root = path
        Susanoo::Project.path = path
      end

      # Set source paths for current generator
      def self.source_root
        "#{@@root}/src"
      end

      include Susanoo::CLI::Commands::Server
      include Susanoo::CLI::Commands::Generate
      include Susanoo::CLI::Commands::Build
      include Susanoo::CLI::Commands::Console
      include Susanoo::CLI::Commands::Run


      private

      def project_root
        Susanoo::Project.path
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
susanoo-0.14.0 lib/susanoo/cli/project_interface.rb
susanoo-0.13.2 lib/susanoo/cli/project_interface.rb
susanoo-0.13.1 lib/susanoo/cli/project_interface.rb
susanoo-0.13.0 lib/susanoo/cli/project_interface.rb
susanoo-0.12.3 lib/susanoo/cli/project_interface.rb
susanoo-0.12.2 lib/susanoo/cli/project_interface.rb
susanoo-0.12.1 lib/susanoo/cli/project_interface.rb
susanoo-0.12.0 lib/susanoo/cli/project_interface.rb