RevisionCreator   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Importance

Changes 8
Bugs 2 Features 0
Metric Value
c 8
b 2
f 0
dl 0
loc 48
rs 10
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
B prepare_revision() 0 10 5
1
# @author Sascha Manns
2
# @abstract Class RevisionCreator for PublicanCreator
3
#
4
# Copyright (C) 2015-2017  Sascha Manns <[email protected]>
5
# License: MIT
6
#
7
# Dependencies
8
require 'fileutils'
9
require 'rainbow/ext/string'
10
require File.expand_path(File.join(File.dirname(__FILE__), 'change.rb'))
11
require File.expand_path(File.join(File.dirname(__FILE__), 'get.rb'))
12
13
# A class for creating a revison to a publican project
14
class RevisionCreator
15
  # @note Ask for the revision information
16
  null, directory, member1, member2, member3, member4, member5,
17
      revnumber = PublicanCreatorsGet.revision
18
  language = PublicanCreatorsGet.config_revision
19
20
  revision, edition = revnumber.split('-')
21
22
  puts "Directory: #{directory}"
23
  puts "Member1: #{member1}"
24
  puts "Member2: #{member2}"
25
  puts "Member3: #{member3}"
26
  puts "Member4: #{member4}"
27
  puts "Member5: #{member5}"
28
  puts "Language: #{language}"
29
  puts "Revnumber: #{revnumber}"
30
  puts "Revision: #{revision}"
31
  puts "Edition: #{edition}"
32
  puts null
33
34
  # This method prepares the string for adding a new revision
35
  # @param [String] member1 is the first string into revdescription
36
  # @param [String] member2 is the second string into revdescription
37
  # @param [String] member3 is the third string into revdescription
38
  # @param [String] member4 is the fourth string into revdescription
39
  # @param [String] member5 is the fifth string into revdescription
40
  # @param [String] revnumber is the revision number
41
  # @param [String] language is the language. Comes from config file.
42
  # @return [String] string is that string for creating the commit
43
  def self.prepare_revision(member1, member2, member3, member4, member5,
44
      revnumber, language)
45
    string = "--member \"#{member1}\""
46
    string << " --member \"#{member2}\"" if member2 != ''
47
    string << " --member \"#{member3}\"" if member3 != ''
48
    string << " --member \"#{member4}\"" if member4 != ''
49
    string << " --member \"#{member5}\"" if member5 != ''
50
    string << " --revnumber \"#{revnumber}\""
51
    string << " --lang \"#{language}\""
52
  end
53
54
  # This method changes to the target directory
55
  FileUtils.cd(directory) do
56
    string = prepare_revision(member1, member2, member3, member4, member5,
57
                              revnumber, language)
58
    PublicanCreatorsChange.replace_productnumber(revision, edition, language)
59
    system("publican add_revision #{string}")
60
  end
61
end
62