module Bones::Plugins::Gem::Syntax

Public Instance Methods

depend_on( name, *args ) click to toggle source

Adds the given gem name to the current project's dependency list. An optional gem version can be given. If omitted, the newest gem version will be used.

# File lib/bones/plugins/gem.rb, line 15
def depend_on( name, *args )
  opts = Hash === args.last ? args.pop : {}
  version = args.first || opts[:version]
  development = opts.key?(:development) ? opts[:development] : opts.key?(:dev) ? opts[:dev] : false

  spec = nil
  if Gem::Specification.respond_to? :find_by_name
    begin
      spec = Gem::Specification.find_by_name(name)
    rescue Gem::LoadError => err
    end
  else
    spec = Gem.source_index.find_name(name).last
  end

  version = ">= #{spec.version.to_s}" if version.nil? and !spec.nil?

  dep = case version
        when nil; [name]
        when /^\d/; [name, "= #{version}"]
        else [name, version] end

  development ?
      ::Bones.config.gem.development_dependencies << dep :
      ::Bones.config.gem.dependencies << dep
  nil
end
source( url ) click to toggle source

Add the given url to the list of gem sources.

# File lib/bones/plugins/gem.rb, line 45
def source( url )
  sources = ::Bones.config.gem.sources
  sources << url unless sources.include? url
  nil
end