Sha256: 7d69c6edd1e85f1f8e1bc95331bfa111f958b62ce4c54b697293eda14b56e2c3

Contents?: true

Size: 1.31 KB

Versions: 2

Compression:

Stored size: 1.31 KB

Contents

require 'erb'
require 'ostruct'
require 'gem/release/helper/string'

module Gem
  module Release
    class Data < Struct.new(:system, :gem, :opts)
      include Helper::String

      def data
        {
          gem_name:     gem_name,
          gem_path:     gem_name.gsub('-', '/'),
          module_names: module_names,
          author:       user_name,
          email:        user_email,
          homepage:     homepage,
          licenses:     licenses,
          summary:      '[summary]',
          description:  '[description]',
          files:        files
        }
      end

      private

        def module_names
          gem_name.split('-').map { |part| camelize(part) }
        end

        def gem_name
          gem.name || raise('No gem_name given.')
        end

        def user_name
          system.git_user_name || '[your name]'
        end

        def user_email
          system.git_user_email || '[your email]'
        end

        def homepage
          "https://github.com/#{user_name}/#{gem_name}"
        end

        def licenses
          Array(license).join(',').split(',').map(&:upcase)
        end

        def license
          opts[:license] if opts[:license]
        end

        def files
          STRATEGIES[(opts[:strategy] || :glob).to_sym] || STRATEGIES[:glob]
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gem-release-2.0.0.dev.2 lib/gem/release/data.rb
gem-release-2.0.0.dev.1 lib/gem/release/data.rb