module DHS::Record::Configuration::ClassMethods

Public Instance Methods

auto_oauth() click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 27
def auto_oauth
  configuration.fetch(:auto_oauth, false)
end
auto_oauth?() click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 23
def auto_oauth?
  DHS.config.auto_oauth && configuration && auto_oauth
end
configuration(args = nil) click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 15
def configuration(args = nil)
  if !args.nil?
    @configuration = args
  else
    @configuration || {}
  end
end
item_created_key() click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 48
def item_created_key
  symbolize_unless_complex(
    configuration.dig(:item_created_key)
  )
end
item_key() click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 36
def item_key
  symbolize_unless_complex(
    configuration.dig(:item_key) || :item
  )
end
items_key() click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 42
def items_key
  symbolize_unless_complex(
    configuration.dig(:items_key) || :items
  )
end
limit_key(type = nil) click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 54
def limit_key(type = nil)
  symbolize_unless_complex(
    pagination_parameter(configuration.dig(:limit_key), type) ||
    :limit
  )
end
oauth(provider = nil) click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 31
def oauth(provider = nil)
  value = provider || true
  configuration.present? ? configuration.merge!(auto_oauth: value) : configuration(auto_oauth: value)
end
paginated() click to toggle source

Allows record to be configured as not paginated, as by default it's considered paginated

# File lib/dhs/concerns/record/configuration.rb, line 84
def paginated
  return true if configuration.blank?
  configuration.fetch(:paginated, true)
end
pagination_key(type = nil) click to toggle source

Key used for determine current page

# File lib/dhs/concerns/record/configuration.rb, line 68
def pagination_key(type = nil)
  symbolize_unless_complex(
    pagination_parameter(configuration.dig(:pagination_key), type) ||
    :offset
  )
end
pagination_strategy() click to toggle source

Strategy used for calculationg next pages and navigate pages

# File lib/dhs/concerns/record/configuration.rb, line 76
def pagination_strategy
  symbolize_unless_complex(
    configuration.dig(:pagination_strategy) || :offset
  )
end
total_key() click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 61
def total_key
  symbolize_unless_complex(
    configuration.dig(:total_key) || :total
  )
end

Private Instance Methods

pagination_parameter(configuration, type) click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 97
def pagination_parameter(configuration, type)
  return configuration unless configuration.is_a?(Hash)
  configuration[type]
end
symbolize_unless_complex(value) click to toggle source
# File lib/dhs/concerns/record/configuration.rb, line 91
def symbolize_unless_complex(value)
  return if value.blank?
  return value.to_sym unless value.is_a?(Array)
  value
end