Module: Envandle

Defined in:
lib/envandle.rb,
lib/envandle/argset.rb,
lib/envandle/as_dsl.rb,
lib/envandle/helper.rb,
lib/envandle/element.rb,
lib/envandle/gemspec.rb,
lib/envandle/history.rb,
lib/envandle/version.rb,
lib/envandle/elements.rb,
lib/envandle/git_util.rb,
lib/envandle/as_context.rb,
lib/envandle/exceptions.rb,
lib/envandle/as_reference.rb,
lib/envandle/elements/gem.rb,
lib/envandle/gemspec_cache.rb,
lib/envandle/elements/group.rb,
lib/envandle/path_reference.rb,
lib/envandle/elements/source.rb,
lib/envandle/illegal_element.rb,
lib/envandle/reference_cache.rb,
lib/envandle/as_git_reference.rb,
lib/envandle/elements/gemfile.rb,
lib/envandle/elements/gemspec.rb,
lib/envandle/git_ref_reference.rb,
lib/envandle/elements/gem_block.rb,
lib/envandle/elements/git_source.rb,
lib/envandle/unsupported_element.rb,
lib/envandle/elements/group_block.rb,
lib/envandle/git_branch_reference.rb,
lib/envandle/elements/source_block.rb,
lib/envandle/elements/gemspec_block.rb,
lib/envandle/elements/git_source_block.rb

Defined Under Namespace

Modules: AsContext, AsDsl, AsGitReference, AsReference, Elements, GitUtil Classes: Argset, Element, Gemspec, GemspecBlock, GemspecCache, GitBranchReference, GitRefReference, History, IllegalElement, PathReference, ReferenceCache, UnsupportedElement

Constant Summary collapse

VERSION =
"0.6.3"

Class Method Summary collapse

Class Method Details

.arg!(loc, type) ⇒ Object

Raises:

  • (ArgumentError)


2
3
4
# File 'lib/envandle/exceptions.rb', line 2

def self.arg!(loc, type)
  raise ArgumentError.new("Missing argument: #{type} (#{loc})")
end

.loc(level = 2) ⇒ Object



6
7
8
9
# File 'lib/envandle/helper.rb', line 6

def self.loc(level = 2)
  /^(.+?):(\d+)(?::in `(.*)')?/ =~ caller(level, 1).first
  Location.new($1, $2.to_i)
end

.options!(args) ⇒ Object



2
3
4
# File 'lib/envandle/helper.rb', line 2

def self.options!(args)
  args.last.is_a?(Hash) ? args.pop : {}
end

.pascal(s) ⇒ Object



11
12
13
# File 'lib/envandle/helper.rb', line 11

def self.pascal(s)
  s.split("_").map{|i| i.capitalize}.join("")
end

.reference_key(group, name) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/envandle/helper.rb', line 15

def self.reference_key(group, name)
  if group
    "#{name}@#{group}"
  else
    name
  end
end

.sh(cmd) ⇒ Object



23
24
25
26
27
# File 'lib/envandle/helper.rb', line 23

def self.sh(cmd)
  output, error, status = Open3.capture3(cmd)
  raise "Command error: #{cmd}" unless status.success?
  output
end

.tmpdir(*args, &block) ⇒ Object



29
30
31
32
# File 'lib/envandle/helper.rb', line 29

def self.tmpdir(*args, &block)
  require "tmpdir"
  Dir.mktmpdir *args, &block
end