Module: Quiver::Action

Defined in:
lib/quiver/action.rb,
lib/quiver/action/filter_error.rb,
lib/quiver/action/filter_value.rb,
lib/quiver/action/pagination_link_builder.rb,
lib/quiver/action/invalid_request_body_error.rb

Defined Under Namespace

Modules: ClassMethods, DurationTracking, FilterValue, Logging Classes: FilterError, InvalidRequestBodyError, PaginationLinkBuilder

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(host) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/quiver/action.rb', line 3

def self.included(host)
  host.send(:include, AbstractAction)
  host.send(:extend, ClassMethods)

  # prepend over Lotus's prepends
  host.send(:prepend, DurationTracking)
  host.send(:prepend, Logging)
end

Instance Method Details

#internal_call(params) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/quiver/action.rb', line 51

def internal_call(params)
  self.params = params

  if params.raw[:terrible_hack].is_a?(JSON::ParserError)
    return serialize_with(errors: [Quiver::Action::InvalidRequestBodyError.new])
  end

  serialize_with(run_action)
rescue Quiver::Error => e
  serialize_with(errors: [e])
end