Class: RablRails::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/rabl-rails/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rabl-rails/configuration.rb', line 16

def initialize
  @json_engine            = defined?(::Oj) ? ::Oj : ::JSON
  @include_json_root      = true
  @enable_jsonp_callbacks = false

  @xml_options = { dasherize: true, skip_types: false }

  @plist_engine       = defined?(::Plist) ? ::Plist::Emit : nil
  @include_plist_root = false

  @cache_templates    = ActionController::Base.perform_caching

  @use_custom_responder       = false
  @responder_default_template = 'show'

  @replace_nil_values_with_empty_strings  = false
  @replace_empty_string_values_with_nil   = false
  @exclude_nil_values                     = false

  @non_collection_classes = Set.new(['Struct'])
end

Instance Attribute Details

#cache_templatesObject

Returns the value of attribute cache_templates.



8
9
10
# File 'lib/rabl-rails/configuration.rb', line 8

def cache_templates
  @cache_templates
end

#enable_jsonp_callbacksObject

Returns the value of attribute enable_jsonp_callbacks.



5
6
7
# File 'lib/rabl-rails/configuration.rb', line 5

def enable_jsonp_callbacks
  @enable_jsonp_callbacks
end

#exclude_nil_valuesObject

Returns the value of attribute exclude_nil_values.



13
14
15
# File 'lib/rabl-rails/configuration.rb', line 13

def exclude_nil_values
  @exclude_nil_values
end

#include_json_rootObject

Returns the value of attribute include_json_root.



5
6
7
# File 'lib/rabl-rails/configuration.rb', line 5

def include_json_root
  @include_json_root
end

#include_plist_rootObject

Returns the value of attribute include_plist_root.



7
8
9
# File 'lib/rabl-rails/configuration.rb', line 7

def include_plist_root
  @include_plist_root
end

#json_engineObject

Returns the value of attribute json_engine.



5
6
7
# File 'lib/rabl-rails/configuration.rb', line 5

def json_engine
  @json_engine
end

#non_collection_classesObject

Returns the value of attribute non_collection_classes.



14
15
16
# File 'lib/rabl-rails/configuration.rb', line 14

def non_collection_classes
  @non_collection_classes
end

#plist_engineObject

Returns the value of attribute plist_engine.



7
8
9
# File 'lib/rabl-rails/configuration.rb', line 7

def plist_engine
  @plist_engine
end

#replace_empty_string_values_with_nilObject

Returns the value of attribute replace_empty_string_values_with_nil.



12
13
14
# File 'lib/rabl-rails/configuration.rb', line 12

def replace_empty_string_values_with_nil
  @replace_empty_string_values_with_nil
end

#replace_nil_values_with_empty_stringsObject

Returns the value of attribute replace_nil_values_with_empty_strings.



11
12
13
# File 'lib/rabl-rails/configuration.rb', line 11

def replace_nil_values_with_empty_strings
  @replace_nil_values_with_empty_strings
end

#responder_default_templateObject

Returns the value of attribute responder_default_template.



10
11
12
# File 'lib/rabl-rails/configuration.rb', line 10

def responder_default_template
  @responder_default_template
end

#use_custom_responderObject

Returns the value of attribute use_custom_responder.



9
10
11
# File 'lib/rabl-rails/configuration.rb', line 9

def use_custom_responder
  @use_custom_responder
end

#xml_optionsObject

Returns the value of attribute xml_options.



6
7
8
# File 'lib/rabl-rails/configuration.rb', line 6

def xml_options
  @xml_options
end

Instance Method Details

#result_flagsObject



43
44
45
46
47
48
49
50
51
# File 'lib/rabl-rails/configuration.rb', line 43

def result_flags
  @result_flags ||= begin
    result = 0
    result |= 0b01  if @replace_nil_values_with_empty_strings
    result |= 0b10  if @replace_empty_string_values_with_nil
    result |= 0b100 if @exclude_nil_values
    result
  end
end