Class: SmallWonder::Application
- Inherits:
-
Object
- Object
- SmallWonder::Application
- Defined in:
- lib/small_wonder/application.rb
Instance Attribute Summary collapse
-
#application_name ⇒ Object
readonly
Returns the value of attribute application_name.
-
#config_data ⇒ Object
readonly
Returns the value of attribute config_data.
-
#node_name ⇒ Object
readonly
Returns the value of attribute node_name.
-
#status ⇒ Object
In small wonder an application object has the following constituent parts: node name application name version status databag-based config data.
-
#version ⇒ Object
In small wonder an application object has the following constituent parts: node name application name version status databag-based config data.
Instance Method Summary collapse
-
#initialize(node_name, application_name, opts = {}) ⇒ Application
constructor
A new instance of Application.
Constructor Details
#initialize(node_name, application_name, opts = {}) ⇒ Application
Returns a new instance of Application.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/small_wonder/application.rb', line 14 def initialize(node_name, application_name, opts = {}) @node_name = node_name @application_name = application_name @config_data = Chef::DataBagItem.load(SmallWonder::Config.databag, application_name).raw_data data = Chef::Node.load(node_name) unless data[SmallWonder::Config.application_deployment_attribute] create_application_deployment_attribute(node_name, application_name) data = Chef::Node.load(node_name) end unless data[SmallWonder::Config.application_deployment_attribute].has_key?(application_name) create_application_deployment_attribute_child(node_name, application_name) data = Chef::Node.load(node_name) end unless data[SmallWonder::Config.application_deployment_attribute][application_name] update_application_data(node_name, application_name, "version", "0") update_application_data(node_name, application_name, "status", "new") end # set version to application version if we have one @version = opts[:version] || nil # set status to status before we update for deploy @status = opts[:status] || get_status(node_name, application_name) # save the data back to the chef node update_application_data(node_name, application_name, "status", "initialized") # save metadata back to chef if opts[:metadata] update_application_data(node_name, application_name, "data", opts[:metadata]) end end |
Instance Attribute Details
#application_name ⇒ Object (readonly)
Returns the value of attribute application_name.
12 13 14 |
# File 'lib/small_wonder/application.rb', line 12 def application_name @application_name end |
#config_data ⇒ Object (readonly)
Returns the value of attribute config_data.
12 13 14 |
# File 'lib/small_wonder/application.rb', line 12 def config_data @config_data end |
#node_name ⇒ Object (readonly)
Returns the value of attribute node_name.
12 13 14 |
# File 'lib/small_wonder/application.rb', line 12 def node_name @node_name end |
#status ⇒ Object
In small wonder an application object has the following constituent parts: node name application name version status databag-based config data
11 12 13 |
# File 'lib/small_wonder/application.rb', line 11 def status @status end |
#version ⇒ Object
In small wonder an application object has the following constituent parts: node name application name version status databag-based config data
11 12 13 |
# File 'lib/small_wonder/application.rb', line 11 def version @version end |