Sha256: 2f9c9e97fd9a19437fa7b5f35bb5b72f197d5bbffd93a972b53f57a0be0ad7c8

Contents?: true

Size: 536 Bytes

Versions: 10

Compression:

Stored size: 536 Bytes

Contents

module TresDelta
  class Customer
    attr_reader :name

    def initialize(params = {})
      @vault_key = params[:vault_key] || nil
      @name      = params[:name] || nil
    end

    def vault_key
      @vault_key ||= SecureRandom.hex(12)
    end

    class << self
      def create(params = {})
        Customer.new(params).tap do |customer|
         unless Vault.create_customer(customer).success?
            raise InvalidCustomer
          end
        end
      end
    end

    class InvalidCustomer < Exception; end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
tres_delta-0.2.0 lib/tres_delta/customer.rb
tres_delta-0.1.5 lib/tres_delta/customer.rb
tres_delta-0.1.4.3 lib/tres_delta/customer.rb
tres_delta-0.1.4.2 lib/tres_delta/customer.rb
tres_delta-0.1.4.1 lib/tres_delta/customer.rb
tres_delta-0.1.4 lib/tres_delta/customer.rb
tres_delta-0.1.3 lib/tres_delta/customer.rb
tres_delta-0.1.2 lib/tres_delta/customer.rb
tres_delta-0.1.1 lib/tres_delta/customer.rb
tres_delta-0.1.0 lib/tres_delta/customer.rb