Module: MediaTypes

Defined in:
lib/media_types.rb,
lib/media_types/dsl.rb,
lib/media_types/hash.rb,
lib/media_types/views.rb,
lib/media_types/object.rb,
lib/media_types/scheme.rb,
lib/media_types/version.rb,
lib/media_types/defaults.rb,
lib/media_types/formatter.rb,
lib/media_types/registrar.rb,
lib/media_types/validations.rb,
lib/media_types/integrations.rb,
lib/media_types/scheme/links.rb,
lib/media_types/scheme/rules.rb,
lib/media_types/constructable.rb,
lib/media_types/scheme/any_of.rb,
lib/media_types/scheme/errors.rb,
lib/media_types/scheme/allow_nil.rb,
lib/media_types/scheme/attribute.rb,
lib/media_types/integrations/http.rb,
lib/media_types/scheme/not_strict.rb,
lib/media_types/integrations/actionpack.rb,
lib/media_types/scheme/output_type_guard.rb,
lib/media_types/scheme/missing_validation.rb,
lib/media_types/scheme/output_empty_guard.rb,
lib/media_types/scheme/validation_options.rb,
lib/media_types/scheme/enumeration_context.rb,
lib/media_types/scheme/enumeration_of_type.rb,
lib/media_types/scheme/rules_exhausted_guard.rb,
lib/media_types/minitest/assert_media_type_format.rb,
lib/media_types/scheme/output_iterator_with_predicate.rb,
lib/media_types/minitest/assert_media_types_registered.rb

Defined Under Namespace

Modules: ActionPackIntegration, Assertions, Dsl, HttpIntegration Classes: Constructable, Defaults, Formatter, Hash, Object, Registerable, Registrar, Scheme, Validations

Constant Summary collapse

COLLECTION_VIEW =

Shortcut used by #collection to #view(‘collection’)

'collection'
INDEX_VIEW =

Shortcut used by #index to #view(‘index’)

'index'
CREATE_VIEW =

Shortcut used by #create to #view(‘create’)

'create'
VERSION =
'0.6.2'
INTEGRATION_METHODS =
%i[register].freeze

Class Method Summary collapse

Class Method Details

.integrate(integration) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/media_types/integrations.rb', line 8

def integrate(integration)
  INTEGRATION_METHODS.each do |method|
    next unless integration.respond_to?(method)
    self.integrations = (integrations || {}).tap do |x|
      x.merge!(method => (x[method] || []).concat([integration]))
    end
  end
end

.register(registerable) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/media_types/integrations.rb', line 18

INTEGRATION_METHODS.each do |method|
  define_singleton_method method do |*args, &block|
    (integrations || {}).fetch(method) { [] }.each do |integration|
      integration.send(method, *args, &block)
    end
  end

end