Class: ShiftClient

Inherits:
Object
  • Object
show all
Defined in:
lib/shift_client.rb,
lib/shift_client/version.rb

Constant Summary collapse

VERSION =
"0.0.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url: raise, ssl_cert: nil, ssl_key: nil, ssl_ca: nil, insecure: true) ⇒ ShiftClient

Returns a new instance of ShiftClient.



6
7
8
9
10
11
12
13
# File 'lib/shift_client.rb', line 6

def initialize(url: raise, ssl_cert: nil, ssl_key: nil, ssl_ca: nil, insecure: true)
  @ssl_cert = ssl_cert
  @ssl_key = ssl_key
  @ssl_ca = ssl_ca
  @insecure = insecure

  @url = url
end

Instance Attribute Details

#insecureObject (readonly)

Returns the value of attribute insecure.



5
6
7
# File 'lib/shift_client.rb', line 5

def insecure
  @insecure
end

#urlObject (readonly)

Returns the value of attribute url.



5
6
7
# File 'lib/shift_client.rb', line 5

def url
  @url
end

Instance Method Details

#create_migration(cluster, database, ddl_statement, pr_url, requestor, final_insert: nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/shift_client.rb', line 19

def create_migration(cluster, database, ddl_statement, pr_url, requestor, final_insert: nil)
  params = {
    :cluster_name  => cluster,
    :database      => database,
    :ddl_statement => ddl_statement,
    :pr_url        => pr_url,
    :requestor     => requestor,
    :final_insert  => final_insert || "",
  }

  shift_post("/api/v1/migrations", params)
end

#delete_migration(migration_id, lock_version) ⇒ Object



43
44
45
46
47
48
# File 'lib/shift_client.rb', line 43

def delete_migration(migration_id, lock_version)
  params = {
    :lock_version => lock_version,
  }
  shift_delete("/api/v1/migrations/#{migration_id}", params)
end

#generic_migration_action_post(action, options) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/shift_client.rb', line 32

def generic_migration_action_post(action, options)
  params = {}
  params[:id] = options.id
  params[:lock_version] = options.lock_version if options.lock_version
  params[:runtype] = options.runtype if options.runtype
  params[:approver] = options.approver if options.approver
  params[:auto_run] = options.auto_run if options.auto_run

  shift_post("/api/v1/migrations/#{action}", params)
end

#get_migration(migration_id) ⇒ Object



15
16
17
# File 'lib/shift_client.rb', line 15

def get_migration(migration_id)
  shift_get("/api/v1/migrations/#{migration_id}")
end