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
- #all_items ⇒ Object
- #become_identifier ⇒ Object
- #do_load_resources ⇒ Object
- #has_main_context? ⇒ Boolean
- #identifier ⇒ Object
- #list ⇒ Object (also: #ls)
- #main_context ⇒ Object
- #main_context=(main_context) ⇒ Object
- #previous_workspace_object ⇒ Object
- #previous_workspace_object=(object) ⇒ Object
- #resource_for_identifier(identifier) ⇒ Object
- #resources ⇒ Object
- #responds_to_list? ⇒ Boolean
Instance Method Details
#all_items ⇒ Object
51 52 53 54 |
# File 'lib/become_object.rb', line 51 def all_items return [] unless resources resources.collect(&:identifier) end |
#become_identifier ⇒ Object
11 12 13 |
# File 'lib/become_object.rb', line 11 def become_identifier "#{previous_workspace_object.send(:become_identifier)}> #{identifier}" end |
#do_load_resources ⇒ Object
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
31 32 33 |
# File 'lib/become_object.rb', line 31 def has_main_context? !@main_context.nil? end |
#identifier ⇒ Object
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 |
#list ⇒ Object 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_context ⇒ Object
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_object ⇒ Object
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 |
#resources ⇒ Object
35 36 37 |
# File 'lib/become_object.rb', line 35 def resources @resources ||= do_load_resources end |
#responds_to_list? ⇒ Boolean
56 57 58 |
# File 'lib/become_object.rb', line 56 def responds_to_list? true end |