Sha256: 85f7b80a6d6db99dfe6686c1826331381b168a00e8a9af443ae68b907a81d2e6

Contents?: true

Size: 919 Bytes

Versions: 5

Compression:

Stored size: 919 Bytes

Contents

module Braintree
  module BaseModule # :nodoc: all
    module Methods
      def return_object_or_raise(object_to_return)
        result = yield
        if result.success?
          result.send object_to_return
        else
          raise ValidationsFailed.new(result)
        end
      end

      def copy_instance_variables_from_object(object)
        object.instance_variables.each do |ivar|
          instance_variable_set ivar, object.instance_variable_get(ivar)
        end
      end

      def set_instance_variables_from_hash(hash)
        hash.each do |key, value|
          if key == :global_id
            instance_variable_set "@graphql_id", value
          end

          instance_variable_set "@#{key}", value
        end
      end

      def singleton_class
        class << self; self; end
      end
    end

    def self.included(klass)
      klass.extend Methods
    end
    include Methods
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
braintree-2.104.1 lib/braintree/base_module.rb
braintree-2.104.0 lib/braintree/base_module.rb
braintree-2.103.0 lib/braintree/base_module.rb
braintree-2.102.0 lib/braintree/base_module.rb
braintree-2.101.0 lib/braintree/base_module.rb