Sha256: d01479a4b0f23b8c4afb77ab60b4035027769c8baea2ea97d35e18e24d340674

Contents?: true

Size: 723 Bytes

Versions: 7

Compression:

Stored size: 723 Bytes

Contents

module Outpost
  module Model
    module Serializer
      extend ActiveSupport::Concern

      # This method should be overridden
      # Don't override as_json unless you don't
      # want its baked-in goodies
      def json
        {}
      end

      # Define some defaults for as_json
      # Override +#json+ to add attributes
      # or override any of these.
      def as_json(*args)
        super.merge({
          "id"         => self.obj_key,
          "obj_key"    => self.obj_key,
          "link_path"  => self.public_path,
          "to_title"   => self.to_title,
          "edit_path"  => self.admin_edit_path
        }).merge(self.json.stringify_keys!)
      end
    end # JSON
  end # Model
end # Outpost

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
outpost-cms-0.1.4 lib/outpost/model/serializer.rb
outpost-cms-0.1.3 lib/outpost/model/serializer.rb
outpost-cms-0.1.2 lib/outpost/model/serializer.rb
outpost-cms-0.1.1 lib/outpost/model/serializer.rb
outpost-cms-0.1.0 lib/outpost/model/serializer.rb
outpost-cms-0.0.5 lib/outpost/model/serializer.rb
outpost-cms-0.0.4 lib/outpost/model/serializer.rb