class NuspecBuilder::NuspecTemplate

Public Class Methods

new(tokens) click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 2
def initialize(tokens)
  @tokens = tokens
end

Public Instance Methods

render() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 6
def render
  template
    .gsub(/\$id\$/, id)
    .gsub(/\$version\$/, version)
    .gsub(/\$title\$/, title)
    .gsub(/\$author\$/, author)
    .gsub(/\$license_url\$/, license_url)
    .gsub(/\$project_url\$/, project_url)
    .gsub(/\$icon_url\$/, icon_url)
    .gsub(/\$require_license_acceptance\$/, require_license_acceptance)
    .gsub(/\$description\$/, description)
    .gsub(/\$release_notes\$/, release_notes)
    .gsub(/\$copyright\$/, copyright)
    .gsub(/\$tags\$/, tags)
    .gsub(/\$dependencies\$/, dependencies)
    .gsub(/\$files\$/, files)
    .gsub(/<licenseUrl>\s*<\/licenseUrl>/, '')
    .gsub(/<projectUrl>\s*<\/projectUrl>/, '')
    .gsub(/<iconUrl>\s*<\/iconUrl>/, '')
    .each_line.reject {|line| line.strip == ''}
    .join
    .strip
end

Private Instance Methods

author() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 52
def author
  @tokens[:author]
end
current_dir() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 36
def current_dir
  File.dirname(File.realpath(__FILE__))
end
dependencies() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 88
def dependencies
  @tokens.fetch(:dependencies, []).map(&:to_s).join("\n      ")
end
description() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 72
def description
  @tokens.fetch(:description, '')
end
files() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 92
def files
  @tokens.fetch(:files, []).map(&:to_s).join("\n    ")
end
icon_url() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 64
def icon_url
  @tokens.fetch(:icon_url, '')
end
id() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 40
def id
  @tokens[:id]
end
license_url() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 56
def license_url
  @tokens.fetch(:license_url, '')
end
project_url() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 60
def project_url
  @tokens.fetch(:project_url, '')
end
release_notes() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 76
def release_notes
  @tokens.fetch(:release_notes, '')
end
require_license_acceptance() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 68
def require_license_acceptance
  @tokens.fetch(:require_license_acceptance, false).to_s
end
tags() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 84
def tags
  @tokens.fetch(:tags, '')
end
template() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 32
def template
  @template ||= File.open("#{current_dir}/templates/template.nuspec") {|f| f.read}
end
title() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 48
def title
  @tokens[:title]
end
version() click to toggle source
# File lib/nuspec_builder/nuspec_template.rb, line 44
def version
  @tokens[:version]
end