module DuodealerAPI::DisablePrefixCheck::ClassMethods

Public Instance Methods

check_prefix_options(options) click to toggle source
# File lib/duodealer_api/disable_prefix_check.rb, line 7
def check_prefix_options(options)
end
conditional_prefix(resource, flexible = false) click to toggle source

`flexible = true` is hack to allow multiple things through the same AR class

# File lib/duodealer_api/disable_prefix_check.rb, line 11
def conditional_prefix(resource, flexible = false)
  resource_id = "#{resource}_id".to_sym
  resource_type = flexible ? ":#{resource}" : resource.to_s.pluralize

  init_prefix_explicit(resource_type, resource_id)

  define_singleton_method :resource_prefix do |options = {}|
    resource_type = options[resource] if flexible

    options[resource_id].nil? ? '' : "#{resource_type}/#{options[resource_id]}/"
  end

  define_singleton_method :instantiate_record do |record, prefix_options = {}|
    new(record, true).tap do |resource_instance|
      resource_instance.prefix_options = prefix_options unless prefix_options.blank?
    end
  end
end