Sha256: 70924b0a034b982b75c6924159bc587e6e313cc70b78c546ef9064059b53b7d6

Contents?: true

Size: 984 Bytes

Versions: 1

Compression:

Stored size: 984 Bytes

Contents

module Ecoportal
  module API
    class Internal
      class Person

        def reset_account!
          doc["account"] = JSON.parse(original_doc["account"])
        end

        def consolidate_account!
          original_doc["account"] = JSON.parse(doc["account"])
        end

        def account=(value)
          case value
          when NilClass
            doc["account"] = nil
          when Internal::Account
            doc["account"] = JSON.parse(value.to_json)
          when Hash
            doc["account"] = value.slice(*%w[policy_group_ids landing_page_id permissions_preset permissions_custom preferences prefilter filter_tags login_provider_ids starred_ids])
          else
            # TODO
            raise "Invalid set on account: Need nil, Account or Hash; got #{value.class}"
          end
          remove_instance_variable("@account") if defined?(@account)
          return account
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eco-helpers-0.9.4 lib/eco/api/common/version_patches/ecoportal_api/internal_person.rb