module GemfileUtils::Cli::Comments
Public Class Methods
included(thor)
click to toggle source
# File lib/gemfile_utils/cli/modules/comments.rb, line 5 def self.included(thor) thor.class_eval do desc 'comments', 'Comment Gemfile with gems descriptions fetched from rubygems' method_option :gemfile, default: 'Gemfile' method_option :licenses, default: 'false' method_option :homepage, default: 'false' def comments gemfile_dependencies.each do |dependency| add_comment(dependency.name, ruby_gems(dependency.name), ' ' * dependency.instance_variable_get(:@indention) ) end end protected def add_comment(gem_name, gem_data, indention = '') before_regexp = Regexp.new("[\s]*gem[\s]+['\"]#{gem_name}['\"]") info = gem_data['info'] info = add_licences(info, gem_data) if options[:licenses] info = add_homepage(info, gem_data) if options[:homepage] inject_into_file(options[:gemfile], comment_block(info, indention), before: before_regexp) if info end def add_licences(info, gem_data) licenses = gem_data['licenses'] licenses = Base::UNKNOWN_LICENCES if licenses.nil? || licenses.empty? "(#{licenses * ', '}) #{info}" end def add_homepage(info, gem_data) homepage = gem_data['homepage_uri'] return info if homepage.nil? || homepage.empty? "#{info} (#{homepage})" end end end
Public Instance Methods
add_comment(gem_name, gem_data, indention = '')
click to toggle source
# File lib/gemfile_utils/cli/modules/comments.rb, line 21 def add_comment(gem_name, gem_data, indention = '') before_regexp = Regexp.new("[\s]*gem[\s]+['\"]#{gem_name}['\"]") info = gem_data['info'] info = add_licences(info, gem_data) if options[:licenses] info = add_homepage(info, gem_data) if options[:homepage] inject_into_file(options[:gemfile], comment_block(info, indention), before: before_regexp) if info end
add_homepage(info, gem_data)
click to toggle source
# File lib/gemfile_utils/cli/modules/comments.rb, line 35 def add_homepage(info, gem_data) homepage = gem_data['homepage_uri'] return info if homepage.nil? || homepage.empty? "#{info} (#{homepage})" end
add_licences(info, gem_data)
click to toggle source
# File lib/gemfile_utils/cli/modules/comments.rb, line 29 def add_licences(info, gem_data) licenses = gem_data['licenses'] licenses = Base::UNKNOWN_LICENCES if licenses.nil? || licenses.empty? "(#{licenses * ', '}) #{info}" end
comments()
click to toggle source
# File lib/gemfile_utils/cli/modules/comments.rb, line 13 def comments gemfile_dependencies.each do |dependency| add_comment(dependency.name, ruby_gems(dependency.name), ' ' * dependency.instance_variable_get(:@indention) ) end end