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.



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

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



5
6
7
# File 'lib/blueprinter/configuration.rb', line 5

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.



25
26
27
28
29
30
31
# File 'lib/blueprinter/configuration.rb', line 25

def array_like_classes
  @array_like_classes ||= [
    Array,
    defined?(ActiveRecord::Relation) && ActiveRecord::Relation,
    *custom_array_like_classes
  ].compact
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.



33
34
35
# File 'lib/blueprinter/configuration.rb', line 33

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)


37
38
39
# File 'lib/blueprinter/configuration.rb', line 37

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