module GemToys::Template::CommonCode

Module for common code between nested tools

Private Instance Methods

changelog_file_path() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 34
        def changelog_file_path
        File.join context_directory, @template.changelog_file_name
end
current_gem_file() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 46
def current_gem_file
        "#{pkg_directory}/#{gem_file_name}"
end
current_version() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 30
        def current_version
        version_file_content.match(/VERSION = '(.+)'/)[1]
end
current_version_hash() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 63
def current_version_hash
        { number: current_version, created_at: 'unreleased' }
end
gem_file_name() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 38
        def gem_file_name
        "#{project_name}-#{current_version}.gem"
end
pkg_directory() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 42
        def pkg_directory
        "#{context_directory}/pkg"
end
project_name() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 14
        def project_name
        File.basename context_directory
end
puts_versions(versions) click to toggle source
# File lib/gem_toys/template/common_code.rb, line 67
def puts_versions(versions)
        require 'date'

        longest_version_number = versions.map { |version| version[:number].length }.max

        versions.each do |version|
                created_at = begin
                        DateTime.parse(version[:created_at]).strftime('%F %R')
                rescue Date::Error
                        version[:created_at]
                end

                puts "#{version[:number].ljust(longest_version_number)}  (#{created_at})"
        end
end
rubygems_connection() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 50
        def rubygems_connection
        require 'faraday'
        require 'faraday_middleware'

        Faraday.new 'https://rubygems.org/api/v1' do |conn|
                conn.response :json, parser_options: { symbolize_names: true }
        end
end
rubygems_versions() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 59
        def rubygems_versions
        rubygems_connection.get("versions/#{project_name}.json").body
end
version_file_content() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 26
def version_file_content
        File.read version_file_path
end
version_file_path() click to toggle source
# File lib/gem_toys/template/common_code.rb, line 18
        def version_file_path
        @template.version_file_path ||
                begin
                        project_path = project_name.tr '-', '/'
                        File.join context_directory, 'lib', project_path, 'version.rb'
                end
end