Class: Testbeds::Bed

Inherits:
Object
  • Object
show all
Defined in:
lib/testbeds/bed.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(gemfile, dependencies, rakefile, init_script, store_in) ⇒ Bed

Returns a new instance of Bed.



23
24
25
26
27
28
29
30
31
# File 'lib/testbeds/bed.rb', line 23

def initialize gemfile, dependencies, rakefile, init_script, store_in
  @store_in     = Pathname.new File.expand_path(store_in)
  @gemfile      = File.expand_path gemfile
  @rakefile     = @store_in.join template(rakefile)
  @init_script  = init_script
  @dependencies = dependencies.collect do |dep|
    @store_in.join template(dep)
  end
end

Instance Attribute Details

#dependenciesObject (readonly)

Returns the value of attribute dependencies.



5
6
7
# File 'lib/testbeds/bed.rb', line 5

def dependencies
  @dependencies
end

#gemfileObject (readonly)

Returns the value of attribute gemfile.



5
6
7
# File 'lib/testbeds/bed.rb', line 5

def gemfile
  @gemfile
end

#rakefileObject (readonly)

Returns the value of attribute rakefile.



5
6
7
# File 'lib/testbeds/bed.rb', line 5

def rakefile
  @rakefile
end

#store_inObject (readonly)

Returns the value of attribute store_in.



5
6
7
# File 'lib/testbeds/bed.rb', line 5

def store_in
  @store_in
end

Instance Method Details

#nameObject



15
16
17
# File 'lib/testbeds/bed.rb', line 15

def name
  @name ||= Pathname.new File.basename(gemfile)
end

#namespaceObject



7
8
9
# File 'lib/testbeds/bed.rb', line 7

def namespace
  "testbed:#{name}"
end

#run_init_scriptObject



19
20
21
# File 'lib/testbeds/bed.rb', line 19

def run_init_script
  instance_eval &@init_script if @init_script
end

#template(str) ⇒ Object



11
12
13
# File 'lib/testbeds/bed.rb', line 11

def template str
  ERB.new(str).result(binding)
end