Class: Babushka::DepDefiner

Inherits:
Object show all
Extended by:
LogHelpers, PathHelpers, Prompt::Helpers, RunHelpers, ShellHelpers, Vars::Helpers, VersionOf::Helpers
Includes:
AcceptsBlockFor, AcceptsListFor, AcceptsValueFor, LogHelpers, PathHelpers, Prompt::Helpers, RunHelpers, ShellHelpers, Vars::Helpers, VersionOf::Helpers
Defined in:
lib/babushka/dep_definer.rb

Direct Known Subclasses

DepContext

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods included from Vars::Helpers

define_var, merge, set, var

Methods included from VersionOf::Helpers

VersionOf

Methods included from Prompt::Helpers

confirm

Methods included from RunHelpers

_by_babushka, added_by_babushka, append_to_file, babushka_config?, bundle_rake, change_line, change_with_sed, check_file, edited_by_babushka, erb_path_for, grep, hostname, insert_into_file, log_and_open, mysql, rake, render_erb, sed, yaml

Methods included from PathHelpers

cd, in_build_dir, in_dir, in_download_dir

Methods included from ShellHelpers

cmd_dir, failable_shell, log_shell, login_shell, raw_shell, shell, shell!, shell?, sudo, which

Methods included from LogHelpers

debug, log, log_block, log_error, log_ok, log_verbose, log_warn

Methods included from AcceptsBlockFor

#block_for, #default_block_for, #default_blocks, #has_block?, included, #specific_block_for, #store_block_for

Methods included from AcceptsValueFor

included, #store_value_for, #value_for

Methods included from AcceptsListFor

included, #list_for, #store_list_for

Constructor Details

- (DepDefiner) initialize(dep, &block)

A new instance of DepDefiner



30
31
32
33
34
# File 'lib/babushka/dep_definer.rb', line 30

def initialize dep, &block
  @dependency = dep
  @payload = {}
  @block = block
end

Instance Attribute Details

- (Object) block (readonly)

Returns the value of attribute block



21
22
23
# File 'lib/babushka/dep_definer.rb', line 21

def block
  @block
end

- (Object) dependency (readonly)

Returns the value of attribute dependency



21
22
23
# File 'lib/babushka/dep_definer.rb', line 21

def dependency
  @dependency
end

- (Object) payload (readonly)

Returns the value of attribute payload



21
22
23
# File 'lib/babushka/dep_definer.rb', line 21

def payload
  @payload
end

Instance Method Details

- (Object) basename



24
# File 'lib/babushka/dep_definer.rb', line 24

def basename; dependency.basename end

- (Object) define!



36
37
38
39
40
41
42
43
# File 'lib/babushka/dep_definer.rb', line 36

def define!
  define_params!

  unless block.nil?
    raise "Dep block arguments aren't supported anymore. Instead, specify parameter names as symbols after the dep name. More details here: http://github.com/benhoskings/babushka/commit/40054c2" if block.arity > 0
    instance_eval(&block)
  end
end

- (Object) file_and_line



63
64
65
# File 'lib/babushka/dep_definer.rb', line 63

def file_and_line
  get_file_and_line_for(block)
end

- (Object) file_and_line_for(block_name)



67
68
69
# File 'lib/babushka/dep_definer.rb', line 67

def file_and_line_for block_name
  get_file_and_line_for send(block_name) if has_block? block_name
end

- (Object) get_file_and_line_for(blk)



71
72
73
# File 'lib/babushka/dep_definer.rb', line 71

def get_file_and_line_for blk
  blk.inspect.scan(/\#\<Proc\:0x[0-9a-f]+\@([^:]+):(\d+)>/).flatten
end

- (Object) load_path



25
# File 'lib/babushka/dep_definer.rb', line 25

def load_path; dependency.load_path end

- (Object) met(message)



51
52
53
# File 'lib/babushka/dep_definer.rb', line 51

def met message
  result message, :result => true
end

- (Object) name



23
# File 'lib/babushka/dep_definer.rb', line 23

def name; dependency.name end

- (Object) result(message, opts = {})



45
46
47
48
49
# File 'lib/babushka/dep_definer.rb', line 45

def result message, opts = {}
  opts[:result].tap {
    dependency.result_message = message
  }
end

- (Object) unmeetable(message)



59
60
61
# File 'lib/babushka/dep_definer.rb', line 59

def unmeetable message
  raise Babushka::UnmeetableDep, message
end

- (Object) unmet(message)



55
56
57
# File 'lib/babushka/dep_definer.rb', line 55

def unmet message
  result message, :result => false
end