serialize_partials_attributes 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d1c427ef54e132bda678ad565877d6bbd273c48
4
- data.tar.gz: bbe592e57d8d32ce6588efc9c6db03b5966b1b22
3
+ metadata.gz: d3f2a56e5413c46aefc155f9bf39e112afca6853
4
+ data.tar.gz: 67c94dfe103e1ae585f729590402d0b6dab2a024
5
5
  SHA512:
6
- metadata.gz: 8911932807b77174b6d55cfe04a4ec5ec631c54f0654eb80afcccff5f7202a6b05cf2be16ebf9b0b0986de616ea397b4e5afb2577509e02829b0644893569ee6
7
- data.tar.gz: dc7798fa310724aaff62ba096a75bc4c854da40798f8c6a4a7a8487f7cf1a696c099d30fac5ca50228e7a63ccca781fb24734dc276285512e51f3ecf0c71df88
6
+ metadata.gz: 465eb6ebd82f695ed8d5cc2e4b3f0f51ca68f589a8760e677b35e89e6d73b1ef028a62a47cae3ba2b1bd396dbfbaf0d0ec071b20884e6dfff99104dcebe7ffd2
7
+ data.tar.gz: 35b7e90687713d5802c860c67b611d0d3e7940b213c2f313d68330a4f0dd9c29053fb33f925e17b4489903de59b6f6022bbb8714ded9556171be29b531530132
@@ -0,0 +1,22 @@
1
+ module SerializePartialsAttributes
2
+ class Configuration
3
+ @@field = "fields"
4
+ @@split_by = "+"
5
+
6
+ def self.field
7
+ @@field
8
+ end
9
+
10
+ def self.field=(value)
11
+ @@field = value
12
+ end
13
+
14
+ def self.split_by
15
+ @@split_by
16
+ end
17
+
18
+ def self.split_by=(value)
19
+ @@split_by = value
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ module SerializePartialsAttributes
2
+ module ControllerExtensions
3
+ def render *args, &block
4
+ args[0].merge!(attributes_to_serialize)
5
+ super
6
+ end
7
+ private
8
+ def attributes_to_serialize
9
+ {only_attributes: fields_params}
10
+ end
11
+ def fields_params
12
+ if params.has_key?(SerializePartialsAttributes::Configuration.field)
13
+ params[:fields].split(SerializePartialsAttributes::Configuration.split_by)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ module SerializePartialsAttributes
2
+ module SerializerExtensions
3
+ def attributes(*args)
4
+ object = super
5
+ if has_only_attributes_key?
6
+ object.slice!(*only_attributes)
7
+ end
8
+ object
9
+ end
10
+ def has_only_attributes_key?
11
+ if self.instance_options.has_key?(:only_attributes) && self.instance_options[:only_attributes].present?
12
+ true
13
+ else
14
+ false
15
+ end
16
+ end
17
+ def only_attributes
18
+ self.instance_options[:only_attributes].map { |x| x.to_sym }
19
+ end
20
+ end
21
+ end
@@ -1,39 +1,16 @@
1
- module SerializePartialAttributes
2
- module Controller
3
- def render *args, &block
4
- args[0].merge!(attributes_to_serialize)
5
- super
6
- end
7
- private
8
- def attributes_to_serialize
9
- {only_attributes: fields_params}
10
- end
11
- def fields_params
12
- if params.has_key?("fields")
13
- params[:fields].split("+")
14
- end
15
- end
16
- end
17
- module Serializer
18
- extend ActiveSupport::Concern
19
- included do
20
- def attributes(*args)
21
- object = super
22
- if has_only_attributes_key?
23
- object.slice!(*only_attributes)
24
- end
25
- object
26
- end
27
- end
28
- def has_only_attributes_key?
29
- if self.instance_options.has_key?(:only_attributes) && self.instance_options[:only_attributes].present?
30
- true
31
- else
32
- false
33
- end
34
- end
35
- def only_attributes
36
- self.instance_options[:only_attributes].map { |x| x.to_sym }
37
- end
38
- end
1
+ require "active_model_serializers"
2
+ require "serialize_partials_attributes/controller_extensions"
3
+ require "serialize_partials_attributes/serializer_extensions"
4
+ require "serialize_partials_attributes/configuration"
5
+
6
+ if defined?(ActionController::API)
7
+ ActionController::API.include SerializePartialsAttributes::ControllerExtensions
8
+ end
9
+
10
+ if defined?(ActiveModel::Serializer)
11
+ ActiveModel::Serializer.prepend SerializePartialsAttributes::SerializerExtensions
12
+ end
13
+
14
+ module SerializePartialsAttributes
15
+
39
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serialize_partials_attributes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thiago Soares de Melo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-12 00:00:00.000000000 Z
11
+ date: 2018-10-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: thiago.soaresm19@gmail.com
@@ -17,6 +17,9 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - lib/serialize_partials_attributes.rb
20
+ - lib/serialize_partials_attributes/configuration.rb
21
+ - lib/serialize_partials_attributes/controller_extensions.rb
22
+ - lib/serialize_partials_attributes/serializer_extensions.rb
20
23
  homepage: https://github.com/teago19/serialize_partials_attributes
21
24
  licenses:
22
25
  - MIT
@@ -40,5 +43,5 @@ rubyforge_project:
40
43
  rubygems_version: 2.5.2.1
41
44
  signing_key:
42
45
  specification_version: 4
43
- summary: Extention to ActiveModel::Serializer to select with attributes will be serialized}
46
+ summary: Extention to ActiveModel::Serializer to select with attributes will be serialized
44
47
  test_files: []