Module: Parasut

Defined in:
lib/parasut.rb,
lib/parasut/account.rb,
lib/parasut/contact.rb,
lib/parasut/options.rb,
lib/parasut/payment.rb,
lib/parasut/product.rb,
lib/parasut/version.rb,
lib/parasut/http_client.rb,
lib/parasut/transaction.rb,
lib/parasut/item_category.rb,
lib/parasut/sales_invoice.rb,
lib/parasut/document_status.rb

Overview

lib/parasut/document_status.rb

Defined Under Namespace

Classes: Account, Contact, DocumentStatus, HttpClient, ItemCategory, Options, Payment, Product, SalesInvoice, Transaction

Constant Summary collapse

VERSION =
'1.0.3'.freeze

Class Method Summary collapse

Class Method Details

.default_api_urlObject

 Parasut.options.api_base_url will override this.



44
45
46
# File 'lib/parasut.rb', line 44

def self.default_api_url
  "https://api.parasut.com/"
end

.her_setupObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/parasut.rb', line 49

def self.her_setup

  # Make the her setup when necessary, using options
  Her::API.setup url: "#{Parasut.options.api_base_url}/v4/#{Parasut.options.company_id}" do |config|
    # config.use Her::Middleware::ParasutParser
    config.use Her::Middleware::JsonApiParser
    config.use Faraday::Request::UrlEncoded
    config.use Her::Middleware::OAuthProviderHeader
    config.use Faraday::Adapter::NetHttp
    # config.use Faraday::Response::Logger, ActiveSupport::Logger.new(STDOUT)
  end

  Her::Model::Relation.class_eval{include Her::Model::Pagination}

  # Call parasut models
  require_parasut

end

.optionsObject

Initializer



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/parasut/options.rb', line 17

def self.options

  instance=Options.instance

  if block_given?
    yield instance

    # Execute her setup
    Parasut.her_setup
  end

  # Try to set the defaults when needed
  instance.api_base_url = ENV['PARASUT_API_BASE_URL'] || Parasut.default_api_url if instance.api_base_url.nil?
  instance.company_id   = ENV['PARASUT_COMPANY_ID'] if instance.company_id.nil?


  instance
end