5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# 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
gemfile_dependencies.each do |dependency|
(dependency.name, ruby_gems(dependency.name), ' ' * dependency.instance_variable_get(:@indention) )
end
end
protected
def (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], (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
|