Class: GlueEnv
- Inherits:
-
Object
- Object
- GlueEnv
- Defined in:
- lib/tinkit_base_node.rb
Overview
TODO: Have Persistent Layer GlueEnv inherit from this GlueEnv Or better see if it can follow the FilesMgr interface move into its own file Also, put common code across glue envs here (can still be overwritten)
Instance Attribute Summary collapse
-
#_files_mgr_class ⇒ Object
Returns the value of attribute _files_mgr_class.
-
#glue_interface ⇒ Object
Returns the value of attribute glue_interface.
-
#metadata_keys ⇒ Object
Returns the value of attribute metadata_keys.
-
#moab_data ⇒ Object
Returns the value of attribute moab_data.
-
#model_key ⇒ Object
Returns the value of attribute model_key.
-
#model_save_params ⇒ Object
Returns the value of attribute model_save_params.
-
#namespace_key ⇒ Object
Returns the value of attribute namespace_key.
-
#node_key ⇒ Object
Returns the value of attribute node_key.
-
#required_instance_keys ⇒ Object
Returns the value of attribute required_instance_keys.
-
#required_save_keys ⇒ Object
Returns the value of attribute required_save_keys.
-
#user_datastore_location ⇒ Object
Returns the value of attribute user_datastore_location.
-
#user_id ⇒ Object
Returns the value of attribute user_id.
-
#version_key ⇒ Object
Returns the value of attribute version_key.
-
#views ⇒ Object
Returns the value of attribute views.
Instance Method Summary collapse
-
#destroy_bulk(list_of_native_records) ⇒ Object
common methods.
- #destroy_node(model_metadata) ⇒ Object
- #generate_model_key(namespace, node_key) ⇒ Object
- #get(id) ⇒ Object
-
#initialize(glue_interface) ⇒ GlueEnv
constructor
A new instance of GlueEnv.
- #method_missing(name) ⇒ Object
- #query_all ⇒ Object
- #raw_all ⇒ Object
- #save(new_data) ⇒ Object
Constructor Details
#initialize(glue_interface) ⇒ GlueEnv
Returns a new instance of GlueEnv.
66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/tinkit_base_node.rb', line 66 def initialize(glue_interface) #glue interface is the GlueEnv object for the persistence layer @glue_interface = glue_interface common_accessors = [ :user_id, :user_datastore_location, :metadata_keys, :required_instance_keys, :required_save_keys, :node_key, :model_key, :version_key, :namespace_key, :_files_mgr_class, :views, :model_save_params, :moab_data ] common_accessors.each do |acc_sym| accessor = "@#{acc_sym.to_s}".to_sym accessor_value = @glue_interface.__send__(acc_sym) self.instance_variable_set(accessor, accessor_value) end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name) ⇒ Object
59 60 61 62 63 64 |
# File 'lib/tinkit_base_node.rb', line 59 def method_missing(name) #resp = @glue_interface.__send__(name) raise NameError,"Method #{name} was not found in #{self.class.name}. Has it been"\ " built into the persistent model interface yet?" #resp end |
Instance Attribute Details
#_files_mgr_class ⇒ Object
Returns the value of attribute _files_mgr_class.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def _files_mgr_class @_files_mgr_class end |
#glue_interface ⇒ Object
Returns the value of attribute glue_interface.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def glue_interface @glue_interface end |
#metadata_keys ⇒ Object
Returns the value of attribute metadata_keys.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def @metadata_keys end |
#moab_data ⇒ Object
Returns the value of attribute moab_data.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def moab_data @moab_data end |
#model_key ⇒ Object
Returns the value of attribute model_key.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def model_key @model_key end |
#model_save_params ⇒ Object
Returns the value of attribute model_save_params.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def model_save_params @model_save_params end |
#namespace_key ⇒ Object
Returns the value of attribute namespace_key.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def namespace_key @namespace_key end |
#node_key ⇒ Object
Returns the value of attribute node_key.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def node_key @node_key end |
#required_instance_keys ⇒ Object
Returns the value of attribute required_instance_keys.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def required_instance_keys @required_instance_keys end |
#required_save_keys ⇒ Object
Returns the value of attribute required_save_keys.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def required_save_keys @required_save_keys end |
#user_datastore_location ⇒ Object
Returns the value of attribute user_datastore_location.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def user_datastore_location @user_datastore_location end |
#user_id ⇒ Object
Returns the value of attribute user_id.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def user_id @user_id end |
#version_key ⇒ Object
Returns the value of attribute version_key.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def version_key @version_key end |
#views ⇒ Object
Returns the value of attribute views.
42 43 44 |
# File 'lib/tinkit_base_node.rb', line 42 def views @views end |
Instance Method Details
#destroy_bulk(list_of_native_records) ⇒ Object
common methods
80 81 82 |
# File 'lib/tinkit_base_node.rb', line 80 def destroy_bulk(list_of_native_records) @glue_interface.destroy_bulk(list_of_native_records) end |
#destroy_node(model_metadata) ⇒ Object
84 85 86 |
# File 'lib/tinkit_base_node.rb', line 84 def destroy_node() @glue_interface.destroy_node() end |
#generate_model_key(namespace, node_key) ⇒ Object
88 89 90 91 |
# File 'lib/tinkit_base_node.rb', line 88 def generate_model_key(namespace, node_key) #so far the model key is "#{namespace}::#{node_key}" in all persitence models @glue_interface.generate_model_key(namespace, node_key) end |
#get(id) ⇒ Object
93 94 95 |
# File 'lib/tinkit_base_node.rb', line 93 def get(id) @glue_interface.get(id) end |
#query_all ⇒ Object
97 98 99 |
# File 'lib/tinkit_base_node.rb', line 97 def query_all @glue_interface.query_all end |
#raw_all ⇒ Object
101 102 103 |
# File 'lib/tinkit_base_node.rb', line 101 def raw_all @glue_interface.raw_all end |
#save(new_data) ⇒ Object
105 106 107 |
# File 'lib/tinkit_base_node.rb', line 105 def save(new_data) @glue_interface.save(new_data) end |