Module: Bcome::BecomeObject

Included in:
Boot, Stack::Environment, Stack::Instance, Stack::Platform
Defined in:
lib/become_object.rb

Constant Summary collapse

CONFIGS_PATH =
"bcome/config"

Instance Method Summary collapse

Instance Method Details

#all_itemsObject



51
52
53
54
# File 'lib/become_object.rb', line 51

def all_items
  return [] unless resources
  resources.collect(&:identifier)
end

#become_identifierObject



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

def become_identifier
  "#{previous_workspace_object.send(:become_identifier)}> #{identifier}"
end

#do_load_resourcesObject



39
40
41
42
# File 'lib/become_object.rb', line 39

def do_load_resources
  config = YAML.load_file(config_path)
  return collection_klass.collection_from_config(self, config)
end

#has_main_context?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/become_object.rb', line 31

def has_main_context?
  !@main_context.nil?
end

#identifierObject



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

def identifier
  raise "Missing method 'identifier' - this should uniquely identify your workspace context object."
end

#listObject Also known as: ls



60
61
62
63
64
65
66
# File 'lib/become_object.rb', line 60

def list
  if responds_to_list?
    ::RENDER.list_items(collection_key, resources)
  else
    puts "\nNo list function at this level".headsup
  end   
end

#main_contextObject



27
28
29
# File 'lib/become_object.rb', line 27

def main_context
  @main_context
end

#main_context=(main_context) ⇒ Object



23
24
25
# File 'lib/become_object.rb', line 23

def main_context=(main_context)
  @main_context = main_context
end

#previous_workspace_objectObject



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

def previous_workspace_object
  @previous_workspace_object
end

#previous_workspace_object=(object) ⇒ Object



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

def previous_workspace_object=(object)
  @previous_workspace_object = object
end

#resource_for_identifier(identifier) ⇒ Object



44
45
46
47
48
49
# File 'lib/become_object.rb', line 44

def resource_for_identifier(identifier)
  return nil unless resources
  matches = resources.select{|resource| resource.identifier.to_sym == identifier.to_sym }
  raise "Retrieved more than one match for #{collection_key} '#{identifier}'. Selection is ambiguous" if matches.size > 1
  return matches.first
end

#resourcesObject



35
36
37
# File 'lib/become_object.rb', line 35

def resources
  @resources ||= do_load_resources 
end

#responds_to_list?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/become_object.rb', line 56

def responds_to_list?
  true
end