Sha256: 4ed28dbfec135dee674ec700bc44081d971b901d0bfae19b54b4ba1f08c0f530

Contents?: true

Size: 948 Bytes

Versions: 3

Compression:

Stored size: 948 Bytes

Contents

class Bueller
  module Commands
    class BuildGem
      def self.run_for(bueller)
        command = new bueller
        command.run
        command
      end

      attr_reader :bueller

      def initialize(bueller)
        @bueller = bueller
      end

      def base_dir
        bueller.base_dir
      end
      def gemspec_helper
        bueller.gemspec_helper
      end
      def version_helper
        bueller.version_helper
      end

      def run
        make_package_directory
        move_gem_file
      end

      def pkg_dir
        @pkg_dir ||= File.join(base_dir, 'pkg')
      end

      def make_package_directory
        FileUtils.mkdir_p pkg_dir
      end

      def build_gem
        Gem::Builder.new(gemspec_helper.spec).build
      end

      def move_gem_file
        gem_file_name = build_gem
        gem_file_path = File.join(base_dir, gem_file_name)
        FileUtils.mv gem_file_path, pkg_dir
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bueller-0.0.3 lib/bueller/commands/build_gem.rb
bueller-0.0.2 lib/bueller/commands/build_gem.rb
bueller-0.0.1 lib/bueller/commands/build_gem.rb