Class: Kongrations::Migration

Inherits:
Object
  • Object
show all
Defined in:
lib/kongrations/migration.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(migration_name, current_env) ⇒ Migration

Returns a new instance of Migration.



8
9
10
11
12
# File 'lib/kongrations/migration.rb', line 8

def initialize(migration_name, current_env)
  @migration_name = migration_name
  @current_env = current_env
  @environments = {}
end

Class Method Details

.build(migration_name, current_env, conten_to_eval) ⇒ Object



78
79
80
81
82
# File 'lib/kongrations/migration.rb', line 78

def self.build(migration_name, current_env, conten_to_eval)
  klass = new(migration_name, current_env)
  klass.instance_eval("def change; #{conten_to_eval}; end", __FILE__, __LINE__)
  klass
end

Instance Method Details

#change_api(name) {|change_api_request| ... } ⇒ Object

Yields:

  • (change_api_request)


36
37
38
39
40
# File 'lib/kongrations/migration.rb', line 36

def change_api(name)
  change_api_request = ChangeApiRequest.new(name)
  yield(change_api_request)
  change_api_request
end

#change_consumer(username) {|change_consumer_request| ... } ⇒ Object

Yields:

  • (change_consumer_request)


52
53
54
55
56
# File 'lib/kongrations/migration.rb', line 52

def change_consumer(username)
  change_consumer_request = ChangeConsumerRequest.new(username)
  yield(change_consumer_request)
  change_consumer_request
end

#change_plugin_for_api(api_name, plugin_name) {|change_plugin_request| ... } ⇒ Object

Yields:

  • (change_plugin_request)


68
69
70
71
72
# File 'lib/kongrations/migration.rb', line 68

def change_plugin_for_api(api_name, plugin_name)
  change_plugin_request = ChangePluginRequest.new(api_name, plugin_name)
  yield(change_plugin_request)
  change_plugin_request
end

#config_env(env_name) {|environment| ... } ⇒ Object

Yields:

  • (environment)


20
21
22
23
24
# File 'lib/kongrations/migration.rb', line 20

def config_env(env_name)
  environment = Environment.new
  yield(environment)
  @environments[env_name.to_s] = environment
end

#create_api {|create_api_request| ... } ⇒ Object

Yields:

  • (create_api_request)


30
31
32
33
34
# File 'lib/kongrations/migration.rb', line 30

def create_api
  create_api_request = CreateApiRequest.new
  yield(create_api_request)
  create_api_request
end

#create_consumer {|create_consumer_request| ... } ⇒ Object

Yields:

  • (create_consumer_request)


46
47
48
49
50
# File 'lib/kongrations/migration.rb', line 46

def create_consumer
  create_consumer_request = CreateConsumerRequest.new
  yield(create_consumer_request)
  create_consumer_request
end

#create_plugin_for_api(api_name) {|create_plugin_request| ... } ⇒ Object

Yields:

  • (create_plugin_request)


62
63
64
65
66
# File 'lib/kongrations/migration.rb', line 62

def create_plugin_for_api(api_name)
  create_plugin_request = CreatePluginRequest.new(api_name)
  yield(create_plugin_request)
  create_plugin_request
end

#delete_api(name) ⇒ Object



42
43
44
# File 'lib/kongrations/migration.rb', line 42

def delete_api(name)
  DeleteApiRequest.new(name)
end

#delete_consumer(username) ⇒ Object



58
59
60
# File 'lib/kongrations/migration.rb', line 58

def delete_consumer(username)
  DeleteConsumerRequest.new(username)
end

#delete_plugin_for_api(api_name, plugin_name) ⇒ Object



74
75
76
# File 'lib/kongrations/migration.rb', line 74

def delete_plugin_for_api(api_name, plugin_name)
  DeletePluginRequest.new(api_name, plugin_name)
end

#envObject



26
27
28
# File 'lib/kongrations/migration.rb', line 26

def env
  @environments[@current_env]
end

#runObject



14
15
16
17
18
# File 'lib/kongrations/migration.rb', line 14

def run
  response = change.execute
  response.save_data(@migration_name) if response.success?
  response
end