Merge pull request #315 from skywinder/feature/repair-recognizing-user-and-project
Parser: avoid Ruby exit, to make Rake tasks work
This commit is contained in:
		
						commit
						3a784b16d6
					
				@ -217,7 +217,7 @@ module GitHubChangelogGenerator
 | 
			
		||||
    #
 | 
			
		||||
    # @param [String] output of git remote command
 | 
			
		||||
    # @return [Array] user and project
 | 
			
		||||
    def self.user_project_from_option(arg0, arg1, github_site = nil)
 | 
			
		||||
    def self.user_project_from_option(arg0, arg1, github_site)
 | 
			
		||||
      user = nil
 | 
			
		||||
      project = nil
 | 
			
		||||
      github_site ||= "github.com"
 | 
			
		||||
@ -230,10 +230,10 @@ module GitHubChangelogGenerator
 | 
			
		||||
          param = match[2].nil?
 | 
			
		||||
        rescue
 | 
			
		||||
          puts "Can't detect user and name from first parameter: '#{arg0}' -> exit'"
 | 
			
		||||
          exit
 | 
			
		||||
          return
 | 
			
		||||
        end
 | 
			
		||||
        if param
 | 
			
		||||
          exit
 | 
			
		||||
          return
 | 
			
		||||
        else
 | 
			
		||||
          user = match[1]
 | 
			
		||||
          project = match[2]
 | 
			
		||||
@ -276,9 +276,4 @@ module GitHubChangelogGenerator
 | 
			
		||||
      [user, project]
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  if __FILE__ == $PROGRAM_NAME
 | 
			
		||||
    remote = "invalid reference to project"
 | 
			
		||||
    p user_project_from_option(ARGV[0], ARGV[1], remote)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -28,16 +28,16 @@ describe GitHubChangelogGenerator::Parser do
 | 
			
		||||
  end
 | 
			
		||||
  describe ".user_project_from_option" do
 | 
			
		||||
    context "when option is invalid" do
 | 
			
		||||
      it("should exit") { expect { GitHubChangelogGenerator::Parser.user_project_from_option("blah", nil) }.to raise_error(SystemExit) }
 | 
			
		||||
      it("should return nil") { expect(GitHubChangelogGenerator::Parser.user_project_from_option("blah", nil, nil)).to be_nil }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context "when option is valid" do
 | 
			
		||||
      subject { GitHubChangelogGenerator::Parser.user_project_from_option("skywinder/ActionSheetPicker-3.0", nil) }
 | 
			
		||||
      subject { GitHubChangelogGenerator::Parser.user_project_from_option("skywinder/ActionSheetPicker-3.0", nil, nil) }
 | 
			
		||||
      it { is_expected.to be_a(Array) }
 | 
			
		||||
      it { is_expected.to match_array(["skywinder", "ActionSheetPicker-3.0"]) }
 | 
			
		||||
    end
 | 
			
		||||
    context "when option nil" do
 | 
			
		||||
      subject { GitHubChangelogGenerator::Parser.user_project_from_option(nil, nil) }
 | 
			
		||||
      subject { GitHubChangelogGenerator::Parser.user_project_from_option(nil, nil, nil) }
 | 
			
		||||
      it { is_expected.to be_a(Array) }
 | 
			
		||||
      it { is_expected.to match_array([nil, nil]) }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user