Sha256: e5b8208df0671d248b963708ba56967f724ca6e772ac1cbd3e5f9ab939321060

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

module Gemaker
  class Config
    RUBY_VERSION = 2.3

    attr_accessor :gem_name, :summary, :engine, :cli, :mountable, :installable
    attr_reader :authors, :emails
    attr_writer :human_gem_name, :description, :homepage

    def initialize
      self.engine = :normal
    end

    def human_gem_name
      return gem_name.titleize if @human_gem_name.blank?
      @human_gem_name
    end

    def gem_class
      gem_name.classify
    end

    def description
      return summary if @description.blank?
      @description
    end

    def homepage
      return "https://github.com/platanus/#{gem_name}/master" if @homepage.blank?
      @homepage
    end

    def authors=(value)
      @authors = ["Platanus"] + string_to_array(value)
    end

    def emails=(value)
      @emails = ["rubygems@platan.us"] + string_to_array(value)
    end

    def engine?
      !!engine
    end

    def cli?
      !!cli
    end

    def mountable?
      !!mountable
    end

    def installable?
      !!installable
    end

    def ruby_version
      RUBY_VERSION
    end

    private

    def string_to_array(value)
      value.split(",").map(&:strip).reject(&:blank?)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gemaker-0.6.0 lib/gemaker/config.rb
gemaker-0.5.0 lib/gemaker/config.rb
gemaker-0.4.0 lib/gemaker/config.rb
gemaker-0.3.0 lib/gemaker/config.rb
gemaker-0.2.0 lib/gemaker/config.rb