Sha256: 0dc5d9579bbe2f97b846f646caeb1d41910cf2871334628f05f29222fc2d8019

Contents?: true

Size: 833 Bytes

Versions: 12

Compression:

Stored size: 833 Bytes

Contents

module Startback
  module Audit
    module Shared

      def op_name(op)
        return op.op_name if op.respond_to?(:op_name)

        case op
        when String then op
        when Class  then op.name
        else op.class.name
        end
      end

      def op_context(op)
        op.respond_to?(:context, false) ? op.context.to_h : {}
      end

      def op_data(op)
        if op.respond_to?(:op_data, false)
          op.op_data
        elsif op.respond_to?(:to_trail, false)
          op.to_trail
        elsif op.respond_to?(:input, false)
          op.input
        elsif op.respond_to?(:request, false)
          op.request
        elsif op.is_a?(Operation::MultiOperation)
          op.ops.map{ |sub_op| op_to_trail(sub_op) }
        end
      end

    end # module Shared
  end # module Audit
end # module Startback

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
startback-1.1.0 lib/startback/audit/shared.rb
startback-1.0.3 lib/startback/audit/shared.rb
startback-1.0.2 lib/startback/audit/shared.rb
startback-1.0.1 lib/startback/audit/shared.rb
startback-1.0.0 lib/startback/audit/shared.rb
startback-0.19.4 lib/startback/audit/shared.rb
startback-0.19.3 lib/startback/audit/shared.rb
startback-0.19.1 lib/startback/audit/shared.rb
startback-0.19.0 lib/startback/audit/shared.rb
startback-0.18.2 lib/startback/audit/shared.rb
startback-0.18.1 lib/startback/audit/shared.rb
startback-0.18.0 lib/startback/audit/shared.rb