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