Module: Amorail

Extended by:
Amorail
Included in:
Amorail
Defined in:
lib/amorail.rb,
lib/amorail/client.rb,
lib/amorail/config.rb,
lib/amorail/entity.rb,
lib/amorail/railtie.rb,
lib/amorail/version.rb,
lib/amorail/property.rb,
lib/amorail/exceptions.rb,
lib/amorail/access_token.rb,
lib/amorail/entities/lead.rb,
lib/amorail/entities/note.rb,
lib/amorail/entities/task.rb,
lib/amorail/entity/params.rb,
lib/amorail/entity/finders.rb,
lib/amorail/store_adapters.rb,
lib/amorail/entities/company.rb,
lib/amorail/entities/contact.rb,
lib/amorail/entities/webhook.rb,
lib/amorail/entities/leadable.rb,
lib/amorail/entity/persistence.rb,
lib/amorail/entities/elementable.rb,
lib/amorail/entities/contact_link.rb,
lib/amorail/store_adapters/redis_store_adapter.rb,
lib/amorail/store_adapters/memory_store_adapter.rb,
lib/amorail/store_adapters/abstract_store_adapter.rb

Overview

:nodoc: all

Defined Under Namespace

Modules: Elementable, Leadable, MethodMissing, StoreAdapters Classes: APIError, AccessToken, AmoBadGatewayError, AmoBadRequestError, AmoForbiddenError, AmoInternalError, AmoMovedPermanentlyError, AmoNotFoundError, AmoServiceUnaviableError, AmoUnauthorizedError, AmoUnknownError, Client, ClientRegistry, Company, Config, Contact, ContactLink, Entity, Error, Lead, Note, Property, Railtie, Task, Webhook

Constant Summary collapse

VERSION =
'0.7.2'

Instance Method Summary collapse

Instance Method Details

#clientObject



31
32
33
# File 'lib/amorail.rb', line 31

def client
  ClientRegistry.client || (@client ||= Client.new)
end

#configObject



19
20
21
# File 'lib/amorail.rb', line 19

def config
  @config ||= Config.new
end

#configure {|config| ... } ⇒ Object

Yields:



27
28
29
# File 'lib/amorail.rb', line 27

def configure
  yield(config) if block_given?
end

#propertiesObject



23
24
25
# File 'lib/amorail.rb', line 23

def properties
  client.properties
end

#resetObject



35
36
37
38
# File 'lib/amorail.rb', line 35

def reset
  @config = nil
  @client = nil
end

#token_storeObject



55
56
57
58
59
60
61
# File 'lib/amorail.rb', line 55

def token_store
  unless instance_variable_defined?(:@token_store)
    self.token_store = :memory
  end

  @token_store
end

#token_store=(args) ⇒ Object



48
49
50
51
52
53
# File 'lib/amorail.rb', line 48

def token_store=(args)
  adapter, options = Array(args)
  @token_store = StoreAdapters.build_by_name(adapter, options)
rescue NameError => e
  raise e.class, "Token store adapter for :#{adapter} haven't been found", e.backtrace
end

#with_client(client) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/amorail.rb', line 40

def with_client(client)
  client = Client.new(**client) unless client.is_a?(Client)
  ClientRegistry.client = client
  yield
ensure
  ClientRegistry.client = nil
end