Top Level Namespace

Defined Under Namespace

Modules: PUNK, Rack, Sequel, SpecHelpers Classes: Hash, Roda, SwaggerOnHandler, SwaggerRouteHandler

Instance Method Summary collapse

Instance Method Details

#perform(action_class, **kwargs) ⇒ Object



3
4
5
6
7
8
# File 'lib/punk/core/pry.rb', line 3

def perform(action_class, **kwargs)
  raise PUNK::InternalServerError, "Not an action: #{action_class}" unless action_class < PUNK::Action
  action_class.perform(**kwargs)
ensure
  SemanticLogger.flush
end

#present(view_class, **kwargs) ⇒ Object



10
11
12
13
14
15
# File 'lib/punk/core/pry.rb', line 10

def present(view_class, **kwargs)
  raise PUNK::InternalServerError, "Not a view: #{view_class}" unless view_class < PUNK::View
  view_class.present(**kwargs)
ensure
  SemanticLogger.flush
end

#reload!Object



24
25
26
27
28
29
30
31
32
# File 'lib/punk/core/pry.rb', line 24

def reload!
  ['actions', 'models', 'views', 'services', 'workers'].each do |dir|
    path = File.join(PUNK.get.app.path, dir)
    Dir.glob(File.join(path, '**/*.rb')).each { |file| load(file) }
  end
  "Reloaded all actions, models, views, services and workers."
ensure
  SemanticLogger.flush
end

#run(service_class, **kwargs) ⇒ Object



17
18
19
20
21
22
# File 'lib/punk/core/pry.rb', line 17

def run(service_class, **kwargs)
  raise PUNK::InternalServerError, "Not a service: #{service_class}" unless service_class.superclass == PUNK::Service
  service_class.run(**kwargs).result
ensure
  SemanticLogger.flush
end