Module: FedoraLens::ClassMethods
- Defined in:
- lib/fedora_lens.rb
Instance Method Summary collapse
- #create(data) ⇒ Object
- #find(id) ⇒ Object
- #id_to_uri(id) ⇒ Object
- #orm_to_hash ⇒ Object
- #uri_to_id(uri) ⇒ Object
Instance Method Details
#create(data) ⇒ Object
200 201 202 203 204 |
# File 'lib/fedora_lens.rb', line 200 def create(data) model = self.new(data) model.save model end |
#find(id) ⇒ Object
186 187 188 189 190 |
# File 'lib/fedora_lens.rb', line 186 def find(id) resource = Ldp::Resource::RdfSource.new(FedoraLens.connection, id_to_uri(id)) raise Ldp::NotFound if resource.new? self.new(resource) end |
#id_to_uri(id) ⇒ Object
192 193 194 |
# File 'lib/fedora_lens.rb', line 192 def id_to_uri(id) FedoraLens.id_to_uri(id) end |
#orm_to_hash ⇒ Object
206 207 208 209 210 211 212 213 214 215 |
# File 'lib/fedora_lens.rb', line 206 def orm_to_hash if @orm_to_hash.nil? aggregate_lens = attributes_as_lenses.inject({}) do |acc, (name, path)| lens = path.inject {|outer, inner| Lenses.compose(outer, inner)} acc.merge(name => lens) end @orm_to_hash = Lenses.orm_to_hash(aggregate_lens) end @orm_to_hash end |
#uri_to_id(uri) ⇒ Object
196 197 198 |
# File 'lib/fedora_lens.rb', line 196 def uri_to_id(uri) FedoraLens.uri_to_id(uri) end |