Class: Debsacker::Creator

Inherits:
Object
  • Object
show all
Defined in:
lib/debsacker.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version, control) ⇒ Creator

Returns a new instance of Creator.



16
17
18
19
20
21
22
23
# File 'lib/debsacker.rb', line 16

def initialize(version, control)
  @version = version.generate
  @control = control
  @changelog = Debsacker::Package::Changelog.new.tap do |changelog|
    changelog.project_name = @control['Package']
    changelog.author = @control['Maintainer']
  end
end

Class Method Details

.go(version, control) ⇒ Object



10
11
12
13
# File 'lib/debsacker.rb', line 10

def go(version, control)
  creator = new(version, control)
  creator.create
end

Instance Method Details

#clearObject



55
56
57
58
59
# File 'lib/debsacker.rb', line 55

def clear
  puts 'deleting temporary files....'
  Debsacker::SystemGateway.perform('git clean -fd')
  Debsacker::SystemGateway.perform('git reset --hard')
end

#createObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/debsacker.rb', line 25

def create
  puts "\033[32mShow me what u got!\033[0m\n\n"
  begin
    File.open('debian/changelog', 'w') do |file|
      @changelog.lines(@version).each do |line|
        file.puts(line)
        file.puts($/)
      end
    end
  rescue
    return 'Can\'t create debian/changelog file...'
  end
  if Debsacker::Requirements.valid?(@control['Build-Depends'])
    if Debsacker::SystemGateway.perform_with_exit_code('dpkg-buildpackage -uc -us -b')
      clear
      begin
        File.open('current_version', 'w'){ |file| file.write(@version) }
      rescue
        puts "\033[31mCan't write version into version file!\033[0m"
      end
      puts "\033[32mYey! We have new package!\033[0m"
    else
      puts "\033[31mError while running 'dpkg-buildpackage'!\033[0m"
      exit 1
    end
  else
    'Requirements are not satisfied :,('
  end
end