Sha256: 2c1e7a02fd39c142e48e4e65498209ee2e7f02a5196fe0c1bdeedd62d3765943

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

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

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

      def data
        {
          gem_name:     gem_name,
          gem_path:     gem_path,
          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 gem_path
          gem_name.gsub('-', '/').sub(/_rb$/, '')
        end

        def user_login
          git.user_login || '[your login]'
        end

        def user_name
          git.user_name || '[your name]'
        end

        def user_email
          git.user_email || '[your email]'
        end

        def homepage
          "https://github.com/#{user_login}/#{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.rc.2 lib/gem/release/data.rb
gem-release-2.0.0.rc.1 lib/gem/release/data.rb