Sha256: 0c008b8dc5fb1d7103915fed44a596cdbbb6dd0f112781063e8e3095895407ea

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

require 'thor'
require_relative 'ggsm/version'
require_relative 'ggsm/flow/start'
require_relative 'ggsm/flow/update'
require_relative 'ggsm/flow/sync'
require_relative 'ggsm/flow/switch'
require_relative 'ggsm/flow/delete'
require_relative 'ggsm/flow/foreach'

module GGSM
  class Cli < Thor
    include Start
    include Update
    include Sync
    include Switch
    include Delete
    include Foreach

    desc 'start <branch> [<commit>] [<origin>]', 'Start to develop new feature'
    def start(branch, action='')
      start_flow(branch, action)
    end

    desc 'switch <branch>', 'Switch to branch <branch>'
    def switch(branch)
      switch_flow(branch)
    end

    desc 'update', 'Update submodule'
    def update
      update_flow
    end

    desc 'sync', 'Sync remote app and submodules'
    def sync
      sync_flow
    end

    desc 'delete <branch> [-r|--remote] [-a|--all]', 'Delete <branch>'
    option :remote, :default => false, :type => :boolean, aliases: '-r'
    option :all, :default => false, :type => :boolean, aliases: '-a'
    def delete(branch)
      remote = options[:remote]
      all = options[:all]
      delete_flow(branch, remote, all)
    end

    desc 'foreach [<commands>...]', 'Executes the git command in each module'
    def foreach(*commands)
      foreach_flow(*commands)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ggsm-1.0.0 lib/ggsm.rb