Sha256: edd28c4efc72aaec05aa56296bf9f0c002d1c32efa4f675c52cbc4623ffd08b6

Contents?: true

Size: 1.54 KB

Versions: 4

Compression:

Stored size: 1.54 KB

Contents

require "oauth2"
require "jquery-rails"
require "mautic/engine"

module Mautic
  include ::ActiveSupport::Configurable

  autoload :FormHelper, 'mautic/form_helper'
  autoload :Proxy, 'mautic/proxy'
  autoload :Model, 'mautic/model'

  class RequestError < StandardError

    attr_reader :response, :errors

    def initialize(response, message = nil)
      @errors ||= []
      @response = response
      json_body = JSON.parse(response.body) rescue {}
      message ||= Array(json_body['errors']).collect do |error|
        msg = error['code'].to_s
        msg << " (#{error['type']}):" if error['type']
        msg << " #{error['message']}"
        @errors << error['message']
        msg
      end.join(', ')

      super(message)
    end

  end

  class TokenExpiredError < RequestError
  end

  class ValidationError < RequestError

    def initialize(response, message = nil)
      @response = response
      json_body = JSON.parse(response.body) rescue {}
      @errors = Array(json_body['errors']).inject({}) { |mem, var| mem.merge!(var['details']); mem }
      message ||= @errors.collect { |field, msg| "#{field}: #{msg.join(', ')}" }.join('; ')
      super(response, message)
    end

  end

  class AuthorizeError < RequestError
  end

  class RecordNotFound < RequestError
  end

  configure do |config|
    # This is URL your application - its for oauth callbacks
    config.base_url = "http://localhost:3000"
    # *optional* This is your default mautic URL - used in form helper
    config.mautic_url = "https://mautic.my.app"
  end
  # Your code goes here...

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mautic-0.1.8 lib/mautic.rb
mautic-0.1.7 lib/mautic.rb
mautic-0.1.6 lib/mautic.rb
mautic-0.1.4 lib/mautic.rb