Class: SimpleAMS::Adapters::AMS::Collection
- Inherits:
-
SimpleAMS::Adapters::AMS
- Object
- SimpleAMS::Adapters::AMS
- SimpleAMS::Adapters::AMS::Collection
- Defined in:
- lib/simple_ams/adapters/ams.rb
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
-
#folder ⇒ Object
readonly
Returns the value of attribute folder.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Attributes inherited from SimpleAMS::Adapters::AMS
Instance Method Summary collapse
- #as_json ⇒ Object
- #documents ⇒ Object
-
#initialize(folder, options = {}) ⇒ Collection
constructor
A new instance of Collection.
- #links ⇒ Object
- #metas ⇒ Object
Methods inherited from SimpleAMS::Adapters::AMS
Constructor Details
#initialize(folder, options = {}) ⇒ Collection
Returns a new instance of Collection.
69 70 71 72 73 74 |
# File 'lib/simple_ams/adapters/ams.rb', line 69 def initialize(folder, = {}) super @folder = folder @adapter = folder.adapter.value @options = end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
67 68 69 |
# File 'lib/simple_ams/adapters/ams.rb', line 67 def adapter @adapter end |
#folder ⇒ Object (readonly)
Returns the value of attribute folder.
67 68 69 |
# File 'lib/simple_ams/adapters/ams.rb', line 67 def folder @folder end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
67 68 69 |
# File 'lib/simple_ams/adapters/ams.rb', line 67 def @options end |
Instance Method Details
#as_json ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/simple_ams/adapters/ams.rb', line 76 def as_json if [:root] { folder.name => documents, meta: , links: links } else documents end end |
#documents ⇒ Object
88 89 90 91 92 |
# File 'lib/simple_ams/adapters/ams.rb', line 88 def documents folder.map do |document| adapter.new(document).as_json end || [] end |
#links ⇒ Object
100 101 102 103 104 |
# File 'lib/simple_ams/adapters/ams.rb', line 100 def links @links ||= folder.links.each_with_object({}) do |link, hash| hash[link.name] = link.value end end |
#metas ⇒ Object
94 95 96 97 98 |
# File 'lib/simple_ams/adapters/ams.rb', line 94 def @metas ||= folder..each_with_object({}) do |, hash| hash[.name] = .value end end |