Module: ActiveGraph::Node::IdProperty::ClassMethods
- Defined in:
- lib/active_graph/node/id_property.rb
Instance Attribute Summary collapse
-
#manual_id_property ⇒ Object
Returns the value of attribute manual_id_property.
Instance Method Summary collapse
-
#ensure_id_property_info! ⇒ Object
Since there's no way to know when a class is done being described, we wait until the id_property information is requested and use that as the opportunity to set up the defaults if no others are specified.
- #find_by_id(id) ⇒ Object
- #find_by_ids(ids) ⇒ Object
- #find_by_neo_id(id) ⇒ Object
-
#has_id_property? ⇒ Boolean
rubocop:disable Naming/PredicateName.
- #id_property(name, conf = {}, inherited = false) ⇒ Object
-
#id_property? ⇒ Boolean
rubocop:enable Naming/PredicateName.
- #id_property_info ⇒ Object
- #id_property_name ⇒ Object (also: #primary_key)
- #manual_id_property? ⇒ Boolean
Instance Attribute Details
#manual_id_property ⇒ Object
Returns the value of attribute manual_id_property.
127 128 129 |
# File 'lib/active_graph/node/id_property.rb', line 127 def manual_id_property @manual_id_property end |
Instance Method Details
#ensure_id_property_info! ⇒ Object
Since there's no way to know when a class is done being described, we wait until the id_property information is requested and use that as the opportunity to set up the defaults if no others are specified
178 179 180 181 182 183 184 185 |
# File 'lib/active_graph/node/id_property.rb', line 178 def ensure_id_property_info! if !manual_id_property? && !@id_property_info name, type, value = id_property_name_type_value id_property(name, type => value) end handle_model_schema! end |
#find_by_id(id) ⇒ Object
133 134 135 |
# File 'lib/active_graph/node/id_property.rb', line 133 def find_by_id(id) all.where(id_property_name => id).first end |
#find_by_ids(ids) ⇒ Object
137 138 139 |
# File 'lib/active_graph/node/id_property.rb', line 137 def find_by_ids(ids) all.where(id_property_name => ids).to_a end |
#find_by_neo_id(id) ⇒ Object
129 130 131 |
# File 'lib/active_graph/node/id_property.rb', line 129 def find_by_neo_id(id) find_by(neo_id: id) end |
#has_id_property? ⇒ Boolean
rubocop:disable Naming/PredicateName
149 150 151 152 153 |
# File 'lib/active_graph/node/id_property.rb', line 149 def has_id_property? ActiveSupport::Deprecation.warn 'has_id_property? is deprecated and may be removed from future releases, use id_property? instead.', caller id_property? end |
#id_property(name, conf = {}, inherited = false) ⇒ Object
141 142 143 144 145 146 |
# File 'lib/active_graph/node/id_property.rb', line 141 def id_property(name, conf = {}, inherited = false) self.manual_id_property = true @id_property_info = {name: name, type: conf, inherited: inherited} TypeMethods.define_id_methods(self, name, conf) end |
#id_property? ⇒ Boolean
rubocop:enable Naming/PredicateName
156 157 158 |
# File 'lib/active_graph/node/id_property.rb', line 156 def id_property? id_property_info && !id_property_info.empty? end |
#id_property_info ⇒ Object
160 161 162 163 164 |
# File 'lib/active_graph/node/id_property.rb', line 160 def id_property_info ensure_id_property_info! @id_property_info ||= {} end |
#id_property_name ⇒ Object Also known as: primary_key
166 167 168 |
# File 'lib/active_graph/node/id_property.rb', line 166 def id_property_name id_property_info[:name] end |
#manual_id_property? ⇒ Boolean
170 171 172 |
# File 'lib/active_graph/node/id_property.rb', line 170 def manual_id_property? !!manual_id_property end |