Module: Assembla

Extended by:
ClassMethods
Defined in:
lib/assembla_api/error/forbidden.rb,
lib/assembla_api.rb,
lib/assembla_api/api.rb,
lib/assembla_api/error.rb,
lib/assembla_api/client.rb,
lib/assembla_api/request.rb,
lib/assembla_api/version.rb,
lib/assembla_api/jsonable.rb,
lib/assembla_api/response.rb,
lib/assembla_api/constants.rb,
lib/assembla_api/mime_type.rb,
lib/assembla_api/utils/url.rb,
lib/assembla_api/api/config.rb,
lib/assembla_api/connection.rb,
lib/assembla_api/middleware.rb,
lib/assembla_api/normalizer.rb,
lib/assembla_api/page_links.rb,
lib/assembla_api/pagination.rb,
lib/assembla_api/rate_limit.rb,
lib/assembla_api/api/actions.rb,
lib/assembla_api/api/factory.rb,
lib/assembla_api/deprecation.rb,
lib/assembla_api/params_hash.rb,
lib/assembla_api/validations.rb,
lib/assembla_api/client/tasks.rb,
lib/assembla_api/client/users.rb,
lib/assembla_api/null_encoder.rb,
lib/assembla_api/api/arguments.rb,
lib/assembla_api/authorization.rb,
lib/assembla_api/client/spaces.rb,
lib/assembla_api/configuration.rb,
lib/assembla_api/page_iterator.rb,
lib/assembla_api/paged_request.rb,
lib/assembla_api/request/verbs.rb,
lib/assembla_api/request/oauth2.rb,
lib/assembla_api/client/activity.rb,
lib/assembla_api/error/not_found.rb,
lib/assembla_api/request/jsonize.rb,
lib/assembla_api/response/header.rb,
lib/assembla_api/response/xmlize.rb,
lib/assembla_api/client/portfolio.rb,
lib/assembla_api/parameter_filter.rb,
lib/assembla_api/request/key_auth.rb,
lib/assembla_api/response/jsonize.rb,
lib/assembla_api/response/mashify.rb,
lib/assembla_api/response_wrapper.rb,
lib/assembla_api/client/spaces/ssh.rb,
lib/assembla_api/client/users/keys.rb,
lib/assembla_api/error/bad_request.rb,
lib/assembla_api/error/validations.rb,
lib/assembla_api/validations/token.rb,
lib/assembla_api/client/spaces/tags.rb,
lib/assembla_api/error/client_error.rb,
lib/assembla_api/error/unauthorized.rb,
lib/assembla_api/request/basic_auth.rb,
lib/assembla_api/validations/format.rb,
lib/assembla_api/api/config/property.rb,
lib/assembla_api/client/spaces/users.rb,
lib/assembla_api/error/service_error.rb,
lib/assembla_api/error/unknown_media.rb,
lib/assembla_api/error/unknown_value.rb,
lib/assembla_api/error/not_acceptable.rb,
lib/assembla_api/response/raise_error.rb,
lib/assembla_api/validations/presence.rb,
lib/assembla_api/validations/required.rb,
lib/assembla_api/client/authorizations.rb,
lib/assembla_api/client/spaces/tickets.rb,
lib/assembla_api/core_ext/ordered_hash.rb,
lib/assembla_api/error/invalid_options.rb,
lib/assembla_api/error/required_params.rb,
lib/assembla_api/client/portfolio/tasks.rb,
lib/assembla_api/client/portfolio/users.rb,
lib/assembla_api/client/spaces/ssh/keys.rb,
lib/assembla_api/client/spaces/webhooks.rb,
lib/assembla_api/api/config/property_set.rb,
lib/assembla_api/client/portfolio/spaces.rb,
lib/assembla_api/client/spaces/documents.rb,
lib/assembla_api/client/portfolio/tickets.rb,
lib/assembla_api/client/spaces/milestones.rb,
lib/assembla_api/client/spaces/user_roles.rb,
lib/assembla_api/client/spaces/wiki_pages.rb,
lib/assembla_api/client/authorizations/app.rb,
lib/assembla_api/client/spaces/space_tools.rb,
lib/assembla_api/client/spaces/ssh/actions.rb,
lib/assembla_api/client/spaces/ssh/servers.rb,
lib/assembla_api/error/service_unavailable.rb,
lib/assembla_api/client/spaces/ssh/launches.rb,
lib/assembla_api/error/unprocessable_entity.rb,
lib/assembla_api/error/internal_server_error.rb,
lib/assembla_api/client/portfolio/invitations.rb,
lib/assembla_api/client/spaces/standup_reports.rb,
lib/assembla_api/client/spaces/tickets/comments.rb,
lib/assembla_api/client/spaces/tickets/statuses.rb,
lib/assembla_api/client/portfolio/ticket_reports.rb,
lib/assembla_api/client/portfolio/standup_reports.rb,
lib/assembla_api/client/spaces/wiki_pages/versions.rb,
lib/assembla_api/client/spaces/ssh/actions/launches.rb,
lib/assembla_api/client/spaces/standup_away_reports.rb,
lib/assembla_api/client/spaces/tickets/associations.rb,
lib/assembla_api/client/spaces/tickets/custom_fields.rb,
lib/assembla_api/client/spaces/space_tools/merge_requests.rb,
lib/assembla_api/client/spaces/space_tools/merge_requests/versions.rb,
lib/assembla_api/client/spaces/space_tools/merge_requests/versions/votes.rb,
lib/assembla_api/client/spaces/space_tools/merge_requests/versions/comments.rb

Overview

:nodoc

Defined Under Namespace

Modules: Authorization, ClassMethods, Connection, Constants, CoreExt, Error, Jsonable, MimeType, Normalizer, NullParamsEncoder, PagedRequest, Pagination, ParameterFilter, RateLimit, Utils, VERSION, Validations Classes: API, Client, Configuration, Middleware, PageIterator, PageLinks, ParamsHash, Request, Response, ResponseWrapper

Constant Summary collapse

LIBNAME =
'assembla_api'
LIBDIR =
File.expand_path("../#{LIBNAME}", __FILE__)
DEPRECATION_PREFIX =
"[AssemblaAPI] Deprecation warning:"

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from ClassMethods

configuration, configure, require_all

Class Attribute Details

.deprecation_trackerObject



11
12
13
# File 'lib/assembla_api/deprecation.rb', line 11

def deprecation_tracker
  @deprecation_tracker ||= []
end

Class Method Details

.default_middleware(options = {}) ⇒ Proc

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Default middleware stack that uses default adapter as specified by configuration setup

Returns:

  • (Proc)


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

def default_middleware(options = {})
  Middleware.default(options)
end

.deprecate(method, alternate_method = nil) ⇒ Object

Displays deprecation message to the user. Each message is printed once.



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

def deprecate(method, alternate_method=nil)
  return if deprecation_tracker.include? method
  deprecation_tracker << method

  message = <<-NOTICE
#{DEPRECATION_PREFIX}

* #{method} is deprecated.
NOTICE
  if alternate_method
    message << <<-ADDITIONAL
* please use #{alternate_method} instead.
ADDITIONAL
  end
  warn_deprecation(message)
end

.included(base) ⇒ Object



20
21
22
# File 'lib/assembla_api.rb', line 20

def included(base)
  base.extend ClassMethods
end

.method_missing(method_name, *args, &block) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Delegate to Assembla::Client



49
50
51
52
53
54
55
56
57
# File 'lib/assembla_api.rb', line 49

def method_missing(method_name, *args, &block)
  if new.respond_to?(method_name)
    new.send(method_name, *args, &block)
  elsif configuration.respond_to?(method_name)
    Assembla.configuration.send(method_name, *args, &block)
  else
    super
  end
end

.new(options = {}, &block) ⇒ Assembla::Client

Alias for Assembla::Client.new

Parameters:

  • options (Hash) (defaults to: {})

    the configuration options

Returns:



32
33
34
# File 'lib/assembla_api.rb', line 32

def new(options = {}, &block)
  Client.new(options, &block)
end

.respond_to?(method_name, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


59
60
61
62
63
# File 'lib/assembla_api.rb', line 59

def respond_to?(method_name, include_private = false)
  new.respond_to?(method_name, include_private) ||
  configuration.respond_to?(method_name) ||
  super(method_name, include_private)
end

.warn_deprecation(message) ⇒ Object



34
35
36
# File 'lib/assembla_api/deprecation.rb', line 34

def warn_deprecation(message)
  send :warn, message
end