Sha256: 0df21fc38b02b1820c531b37aa6d9ac42a114a19863ea9b605f3c72aa043a799

Contents?: true

Size: 1.49 KB

Versions: 39

Compression:

Stored size: 1.49 KB

Contents

class Ey::Core::Client
  class Real
    def signup(_params)
      params = Cistern::Hash.stringify_keys(_params)

      request(
        :method => :post,
        :path   => "/signups",
        :body   => params,
      )
    end
  end # Real

  class Mock
    def signup(_params)
      params = Cistern::Hash.stringify_keys(_params)

      user_id = self.uuid

      user = params["user"].dup
      user.merge!({
        "id"          => user_id,
        "accounts"    => url_for("/users/#{user_id}/accounts"),
        "memberships" => url_for("/users/#{user_id}/memberships"),
        "keypairs"    => url_for("/users/#{user_id}/keypairs"),
        "token"       => SecureRandom.hex(20)
      })

      self.data[:users][user_id] = user

      account_id = self.uuid

      account = mock_account_setup(account_id, params["account"].dup)

      self.data[:accounts][account_id] = account.merge(:account_users => [user_id], :account_owners => [user_id])

      (params["features"] || []).each do |resource_id|
        feature = self.data[:features][resource_id]

        account_url = url_for("/accounts/#{account_id}")
        feature["account"] = account_url
      end

      response(
        :body => {
          "signup" => {
            "user_id"     => user_id,
            "account_id"  => account_id,
            "upgrade_url" => "http://login.localdev.engineyard.com:9292/session-tokens/#{self.uuid}/upgrade",
          },
        },
        :status  => 201,
      )
    end
  end # Mock
end # Ey::Core::Client

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/requests/signup.rb
ey-core-3.6.4 lib/ey-core/requests/signup.rb
ey-core-3.6.3 lib/ey-core/requests/signup.rb
ey-core-3.6.1 lib/ey-core/requests/signup.rb
groove-ey-core-3.6.3 lib/ey-core/requests/signup.rb
groove-ey-core-3.6.2 lib/ey-core/requests/signup.rb
groove-ey-core-3.6.1 lib/ey-core/requests/signup.rb
ey-core-3.5.0 lib/ey-core/requests/signup.rb
ey-core-3.4.4 lib/ey-core/requests/signup.rb
ey-core-3.4.2 lib/ey-core/requests/signup.rb
ey-core-3.4.1 lib/ey-core/requests/signup.rb
ey-core-3.4.0 lib/ey-core/requests/signup.rb
ey-core-3.3.1 lib/ey-core/requests/signup.rb
ey-core-3.3.0 lib/ey-core/requests/signup.rb
ey-core-3.2.6 lib/ey-core/requests/signup.rb
ey-core-3.2.5 lib/ey-core/requests/signup.rb
ey-core-3.2.4 lib/ey-core/requests/signup.rb
ey-core-3.2.3 lib/ey-core/requests/signup.rb
ey-core-3.2.2 lib/ey-core/requests/signup.rb
ey-core-3.2.1 lib/ey-core/requests/signup.rb