Class: Blueprinter::Configuration Private

Inherits:
Object
  • Object
show all
Defined in:
lib/blueprinter/configuration.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary collapse

VALID_CALLABLES =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

%i[if unless].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Configuration.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/blueprinter/configuration.rb', line 12

def initialize
  @deprecations = :stderror
  @association_default = nil
  @datetime_format = nil
  @field_default = nil
  @generator = JSON
  @if = nil
  @method = :generate
  @sort_fields_by = :name_asc
  @unless = nil
  @extractor_default = AutoExtractor
  @default_transformers = []
  @custom_array_like_classes = []
end

Instance Attribute Details

#association_defaultObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def association_default
  @association_default
end

#custom_array_like_classesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def custom_array_like_classes
  @custom_array_like_classes
end

#datetime_formatObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def datetime_format
  @datetime_format
end

#default_transformersObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def default_transformers
  @default_transformers
end

#deprecationsObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def deprecations
  @deprecations
end

#extractor_defaultObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def extractor_default
  @extractor_default
end

#field_defaultObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def field_default
  @field_default
end

#generatorObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def generator
  @generator
end

#ifObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def if
  @if
end

#methodObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def method
  @method
end

#sort_fields_byObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def sort_fields_by
  @sort_fields_by
end

#unlessObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7
8
9
# File 'lib/blueprinter/configuration.rb', line 7

def unless
  @unless
end

Instance Method Details

#array_like_classesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



35
36
37
38
39
40
41
# File 'lib/blueprinter/configuration.rb', line 35

def array_like_classes
  @array_like_classes ||= [
    Array,
    defined?(ActiveRecord::Relation) && ActiveRecord::Relation,
    *custom_array_like_classes
  ].compact
end

#extensionsObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



27
28
29
# File 'lib/blueprinter/configuration.rb', line 27

def extensions
  @extensions ||= Extensions.new
end

#extensions=(list) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



31
32
33
# File 'lib/blueprinter/configuration.rb', line 31

def extensions=(list)
  @extensions = Extensions.new(list)
end

#jsonify(blob) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



43
44
45
# File 'lib/blueprinter/configuration.rb', line 43

def jsonify(blob)
  generator.public_send(method, blob)
end

#valid_callable?(callable_name) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


47
48
49
# File 'lib/blueprinter/configuration.rb', line 47

def valid_callable?(callable_name)
  VALID_CALLABLES.include?(callable_name)
end