Class: GithubGo2Rpm::OBSPackage

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

Instance Method Summary collapse

Constructor Details

#initialize(repository) ⇒ OBSPackage

Returns a new instance of OBSPackage.



23
24
25
# File 'lib/githubgo2rpm.rb', line 23

def initialize(repository)
  @repo = Repository.new(repository)
end

Instance Method Details

#create_package(path, create_dir = true) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/githubgo2rpm.rb', line 27

def create_package(path, create_dir = true)
  path += '/' if path[-1] != '/'

  package_name = "golang-github-#{@repo.details['owner']['login']}-#{@repo.details['name']}"

  if create_dir
    directory = "#{path}#{package_name}"
    FileUtils.mkdir(directory)
  else
    directory = path
  end

  spec_file_name = "#{package_name}.spec"

  File.open("#{directory}/#{spec_file_name}", 'w+') { |file| file.write(generate_spec) }
  File.open("#{directory}/_service", 'w+') { |file| file.write(generate_service) }
end

#generate_serviceObject



64
65
66
67
68
69
70
71
# File 'lib/githubgo2rpm.rb', line 64

def generate_service
  username = @repo.details['owner']['login']
  library_name = @repo.details['name']
  
  template = File.open("#{File.dirname(File.dirname(__FILE__))}/templates/_service.template").read
  template.gsub!('%LIBRARY_NAME%', library_name)
  template.gsub!('%LIBRARY_USERNAME%', username)
end

#generate_specObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/githubgo2rpm.rb', line 45

def generate_spec
  username = @repo.details['owner']['login']
  library_name = @repo.details['name']
  
  summary = @repo.details['description']
  summary = summary[0..-2] if summary[-1] == '.' || summary[-1] == '!'

  description = @repo.details['description']
  description = description[0..-2] if description[-1] == '.' || description[-1] == '!'

  template = File.open("#{File.dirname(File.dirname(__FILE__))}/templates/golang-spec-file.template").read
  template.gsub!('%LIBRARY_NAME%', library_name)
  template.gsub!('%LIBRARY_USERNAME%', username)
  template.gsub!('%YEAR%', Time.now.year.to_s)
  template.gsub!('%LIBRARY_SUMMARY%', summary)
  template.gsub!('%LIBRARY_DESCRIPTION%', description)
  template.gsub!('%LIBRARY_LICENSE%', 'MIT')
end