Module: RequestMigrations::Migration::DSL

Included in:
RequestMigrations::Migration
Defined in:
lib/request_migrations/migration.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(klass) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/request_migrations/migration.rb', line 45

def self.extended(klass)
  class << klass
    attr_accessor :description_value,
                  :changeset_value,
                  :request_blocks,
                  :migration_blocks,
                  :response_blocks
  end

  klass.description_value = nil
  klass.request_blocks    = []
  klass.migration_blocks  = []
  klass.response_blocks   = []
end

Instance Method Details

#description(desc) ⇒ Object

description sets the description.

Parameters:

  • desc (String)

    the description



71
72
73
# File 'lib/request_migrations/migration.rb', line 71

def description(desc)
  self.description_value = desc
end

#inherited(klass) ⇒ Object



60
61
62
63
64
65
# File 'lib/request_migrations/migration.rb', line 60

def inherited(klass)
  klass.description_value = description_value.dup
  klass.request_blocks    = request_blocks.dup
  klass.migration_blocks  = migration_blocks.dup
  klass.response_blocks   = response_blocks.dup
end

#migrate(if: nil) {|Any| ... } ⇒ Object

migrate sets the data migration.

Parameters:

  • if (Proc) (defaults to: nil)

    the proc which determines if the migration should run.

Yields:

  • (Any)

    the provided data.



91
92
93
# File 'lib/request_migrations/migration.rb', line 91

def migrate(if: nil, &block)
  self.migration_blocks << ConditionalBlock.new(if:, &block)
end

#request(if: nil) {|ActionDispatch::Request| ... } ⇒ Object

request sets the request migration.

Parameters:

  • if (Proc) (defaults to: nil)

    the proc which determines if the migration should run.

Yields:

  • (ActionDispatch::Request)

    the current request.



81
82
83
# File 'lib/request_migrations/migration.rb', line 81

def request(if: nil, &block)
  self.request_blocks << ConditionalBlock.new(if:, &block)
end

#response(if: nil) {|ActionDispatch::Response| ... } ⇒ Object

response sets the response migration.

Parameters:

  • if (Proc) (defaults to: nil)

    the proc which determines if the migration should run.

Yields:

  • (ActionDispatch::Response)

    the current response.



101
102
103
# File 'lib/request_migrations/migration.rb', line 101

def response(if: nil, &block)
  self.response_blocks << ConditionalBlock.new(if:, &block)
end