module FmRest::Spyke::Model::GlobalFields

Constants

FULLY_QUALIFIED_FIELD_NAME_MATCHER

Public Instance Methods

normalize_globals_hash(hash) click to toggle source
# File lib/fmrest/spyke/model/global_fields.rb, line 20
def normalize_globals_hash(hash)
  hash.each_with_object({}) do |(k, v), normalized|
    if v.kind_of?(Hash)
      v.each do |k2, v2|
        normalized["#{k}::#{k2}"] = v2
      end
      next
    end

    unless FULLY_QUALIFIED_FIELD_NAME_MATCHER === k.to_s
      raise ArgumentError, "global fields must be given in fully qualified format (table name::field name)"
    end

    normalized[k] = v
  end
end
set_globals(values_hash) click to toggle source
# File lib/fmrest/spyke/model/global_fields.rb, line 12
def set_globals(values_hash)
  connection.patch(FmRest::V1.globals_path, {
    globalFields: normalize_globals_hash(values_hash)
  })
end