lib/swagger_roar.rb in swagger_roar-0.0.1.pre.alpha.pre.12 vs lib/swagger_roar.rb in swagger_roar-0.0.1.pre.alpha.pre.13
- old
+ new
@@ -1,23 +1,28 @@
require "swagger_roar/version"
module SwaggerRoar
def documentation
Hash[
- attrs_hash.map { |k, v|
- [k.to_sym, v[:documentation]]
+ representable_attrs.keys.map { |k|
+ key_to_doc_entry(k)
}
]
end
private
- def attrs_hash
- a = representable_attrs
- return a.to_h if a.respond_to? :to_h
- Hash[
- a.keys.map { |k|
- [k.to_sym, a[k]]
- }
- ]
+ def key_to_doc_entry(k)
+ [key_to_doc_key(k), key_to_doc(k)]
+ end
+
+ def key_to_doc_key(k)
+ return unless representable_attrs.has_key? k
+ definition = representable_attrs[k]
+ return definition[:as].evaluate({}).to_sym if definition[:as].present?
+ k.to_sym
+ end
+
+ def key_to_doc(k)
+ representable_attrs[k][:documentation]
end
end