Module: ActiveGraph::Relationship::Property::ClassMethods
- Includes:
- Shared::Cypher::CreateMethod
- Defined in:
- lib/active_graph/relationship/property.rb
Instance Method Summary collapse
-
#extract_association_attributes!(attributes) ⇒ Object
Extracts keys from attributes hash which are relationships of the model TODO: Validate separately that relationships are getting the right values? Perhaps also store the values and persist relationships on save?.
- #load_entity(id) ⇒ Object
- #valid_class_argument?(class_argument) ⇒ Boolean
Methods included from Shared::Cypher::CreateMethod
#create_method, #creates_unique, #creates_unique?, #creates_unique_option
Instance Method Details
#extract_association_attributes!(attributes) ⇒ Object
Extracts keys from attributes hash which are relationships of the model TODO: Validate separately that relationships are getting the right values? Perhaps also store the values and persist relationships on save?
39 40 41 42 43 44 45 46 |
# File 'lib/active_graph/relationship/property.rb', line 39 def extract_association_attributes!(attributes) return if attributes.blank? {}.tap do |relationship_props| attributes.each_key do |key| relationship_props[key] = attributes.delete(key) if [:from_node, :to_node].include?(key) end end end |
#load_entity(id) ⇒ Object
70 71 72 |
# File 'lib/active_graph/relationship/property.rb', line 70 def load_entity(id) ActiveGraph::Node.load(id) end |
#valid_class_argument?(class_argument) ⇒ Boolean
62 63 64 65 |
# File 'lib/active_graph/relationship/property.rb', line 62 def valid_class_argument?(class_argument) [String, Symbol, FalseClass].include?(class_argument.class) || (class_argument.is_a?(Array) && class_argument.all? { |c| [String, Symbol].include?(c.class) }) end |