Module: Hyperlinked

Defined in:
lib/hyperlinked.rb,
lib/hyperlinked/client.rb,
lib/hyperlinked/entity.rb,
lib/hyperlinked/errors.rb,
lib/hyperlinked/version.rb,
lib/hyperlinked/relation.rb,
lib/hyperlinked/stubbing.rb,
lib/hyperlinked/whiny_uri.rb,
lib/hyperlinked/configuration.rb,
lib/hyperlinked/stores/memcache.rb,
lib/hyperlinked/response_handlers.rb,
lib/hyperlinked/strategies/bearer.rb,
lib/hyperlinked/strategies/strategy.rb,
lib/hyperlinked/strategies/authorized.rb,
lib/hyperlinked/strategies/basic_auth.rb,
lib/hyperlinked/strategies/oauth2_strategy.rb,
lib/hyperlinked/strategies/client_credentials.rb

Defined Under Namespace

Modules: EnumerableEntity, ResponseHandlers, Stores, Strategies, Stubbing Classes: AccessForbiddenError, AuthorizationError, Client, ClientError, Configuration, Entity, InvalidURLError, NotFoundError, Relation, ServerError, TransportError, UnauthorizedError, WhinyURI

Constant Summary collapse

VERSION =
"0.1.0".freeze
InvalidConfigurationError =
Class.new(StandardError)
VERY_BASIC_URL_CHECK =
/^(http|https):/.freeze

Class Method Summary collapse

Class Method Details

.client(strategy_name, client_opts = {}, &on_new_token) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/hyperlinked.rb', line 14

def client(strategy_name, client_opts = {}, &on_new_token)
  return @stubber if @stubber
  opts = client_opts.dup
  opts[:logging] = configuration.logging
  opts[:logger] = configuration.logger if configuration.logging
  opts[:cache_store] = configuration.cache_store if configuration.cache_store
  opts[:user_agent] = configuration.user_agent if configuration.user_agent
  require "hyperlinked/strategies/#{strategy_name}"
  strategies.fetch(strategy_name.to_sym).new configuration, opts, &on_new_token
end

.configurationObject



29
30
31
# File 'lib/hyperlinked.rb', line 29

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



25
26
27
# File 'lib/hyperlinked.rb', line 25

def configure(&block)
  yield configuration
end

.strategiesObject



10
11
12
# File 'lib/hyperlinked.rb', line 10

def strategies
  @strategies ||= {}
end

.stub!Object



33
34
35
36
# File 'lib/hyperlinked.rb', line 33

def stub!
  require "hyperlinked/stubbing"
  @stubber = Stubbing::StubRoot.new
end

.stub_chain(method_chain, opts = {}) ⇒ Object



38
39
40
# File 'lib/hyperlinked.rb', line 38

def stub_chain(method_chain, opts = {})
  @stubber.stub_chain(method_chain, opts)
end

.unstub!Object



42
43
44
# File 'lib/hyperlinked.rb', line 42

def unstub!
  @stubber = nil
end