Sha256: b48706bd1326a0a4a795a55c5560438ae5a3557efd10e68dce6bbc5520099881
Contents?: true
Size: 693 Bytes
Versions: 3
Compression:
Stored size: 693 Bytes
Contents
class ProjectPresenter include UrlHelper def initialize(projects) @projects = OneOrMany.new(projects) end def as_json(*args) projects = @projects projects = Houston.benchmark "[#{self.class.name.underscore}] Load objects" do projects.load end if projects.is_a?(ActiveRecord::Relation) Houston.benchmark "[#{self.class.name.underscore}] Prepare JSON" do projects.map(&method(:project_to_json)) end end def project_to_json(project) { id: project.id, name: project.name, slug: project.slug, color: { name: project.color, hex: project.color_value.hex }, props: project.extended_attributes } end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
houston-core-0.6.3 | app/presenters/project_presenter.rb |
houston-core-0.6.2 | app/presenters/project_presenter.rb |
houston-core-0.6.1 | app/presenters/project_presenter.rb |