module PowerStencil::Utils::GemUtils
Public Instance Methods
find_gemspec_manually(gem_name)
click to toggle source
# File lib/power_stencil/utils/gem_utils.rb, line 20 def find_gemspec_manually(gem_name) gem_spec_files = [] ::Gem::Specification.dirs.each do |dir| Dir.glob(File.join(dir, "#{gem_name}-*.*.*.gemspec")) do |file| gem_spec_files << file end end gem_spec_files.map { |file| ::Gem::Specification.load file } end
plugin_definition_to_name_and_req(plugin_definition)
click to toggle source
# File lib/power_stencil/utils/gem_utils.rb, line 6 def plugin_definition_to_name_and_req(plugin_definition) md = plugin_definition.match /^\s*([^\s]+)\s*,?\s*(.+)?\s*$/ if md.nil? raise PowerStencil::Error, "Invalid plugin_definition '#{plugin_definition}'" end gem_name = md[1] gem_req = if md[2].nil? or md[2].empty? ::Gem::Requirement.default else ::Gem::Requirement.create md[2] end [gem_name, gem_req] end