diff --git a/lib/ext/community.rb b/lib/ext/community.rb new file mode 100644 index 0000000..3d1ce7c --- /dev/null +++ b/lib/ext/community.rb @@ -0,0 +1,38 @@ +require_dependency "community" + +class Community + + def attr_to_json + attrs = super + + if self.respond_to?("software?") && self.software? + attrs['software_data'] = { + "public_software" => self.software_info.public_software, + "acronym" => self.software_info.acronym, + "finality" => self.software_info.finality, + "repository_link" => self.software_info.repository_link, + "license_info" => { + "id" => self.software_info.license_info.id, + "version" => self.software_info.license_info.version, + "link" => self.software_info.license_info.link, + }, + "categories" => [] + } + + self.categories.each do |category| + if Category.last.parent.name == "Software" + category_info = { + "id" => category.id, + "name" => category.name, + "slug" => category.slug, + "path" => category.path + } + + attrs['software_data']["categories"] << category_info + end + end + end + + attrs + end +end -- libgit2 0.21.2