diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-10-28 14:32:07 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-11-02 14:26:57 +0100 |
commit | acfe394018df50bfc08aa9e41265231747675646 (patch) | |
tree | 776b34a9f27c149d8863775f760036b2484ed866 /app/serializers/base_serializer.rb | |
parent | 2023511753d75545aa76968a2991dc962f7a99db (diff) | |
download | gitlab-ce-acfe394018df50bfc08aa9e41265231747675646.tar.gz |
Add PoC for resource serializers
Diffstat (limited to 'app/serializers/base_serializer.rb')
-rw-r--r-- | app/serializers/base_serializer.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/serializers/base_serializer.rb b/app/serializers/base_serializer.rb new file mode 100644 index 00000000000..f9f7135551b --- /dev/null +++ b/app/serializers/base_serializer.rb @@ -0,0 +1,24 @@ +class BaseSerializer + def initialize(request = {}) + @request = EntityRequest.new(request) + @opts = { request: @request } + end + + def set(opts) + @request.merge!(opts) + self + end + + def represent(resource, opts = {}) + self.class.entity_class + .represent(resource, @opts.reverse_merge(opts)) + end + + def self.entity(entity_class) + @entity_class ||= entity_class + end + + def self.entity_class + @entity_class + end +end |