Class: RailsSandboxServer::SandboxController

Inherits:
ActionController::Base
  • Object
show all
Defined in:
app/controllers/rails_sandbox_server/sandbox_controller.rb

Instance Method Summary collapse

Instance Method Details

#executeObject



36
37
38
39
40
41
# File 'app/controllers/rails_sandbox_server/sandbox_controller.rb', line 36

def execute
  code = Base64.decode64(params[:code])
  result = eval(code)

  render text: result
end

#rollbackObject



27
28
29
30
31
32
33
34
# File 'app/controllers/rails_sandbox_server/sandbox_controller.rb', line 27

def rollback
  logger.info "rollback transaction #{ActiveRecord::Base.connection.current_transaction}"
  ActiveRecord::Base.connection.rollback_transaction
  ActiveRecord::FixtureSet.reset_cache
  Rails.cache.clear

  render text: 'rollback successfully'
end

#setupObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/rails_sandbox_server/sandbox_controller.rb', line 13

def setup
  fixtures = Array.wrap(params[:fixture] || params[:fixtures])
  path = params[:fixtures_dir] || fixture_path

  class_mapping = params[:mapping] || {}
  class_mapping.each do |k, v|
    class_mapping[k] = v.classify.constantize
  end

  ActiveRecord::FixtureSet.create_fixtures(path, fixtures, class_mapping)

  render text: 'fixture load successfully'
end