Class: GithubGo2Rpm::OBSPackage
- Inherits:
-
Object
- Object
- GithubGo2Rpm::OBSPackage
- Defined in:
- lib/githubgo2rpm.rb
Instance Method Summary collapse
- #create_package(path, create_dir = true) ⇒ Object
- #generate_service ⇒ Object
- #generate_spec ⇒ Object
-
#initialize(repository) ⇒ OBSPackage
constructor
A new instance of OBSPackage.
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_service ⇒ Object
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_spec ⇒ Object
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 |