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: AssertionError, 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 =
'1.0.0'
- INTEGRATION_METHODS =
%i[register].freeze
Class Method Summary collapse
- .get_organisation(mod) ⇒ Object
- .integrate(integration) ⇒ Object
- .register(registerable) ⇒ Object
- .set_organisation(mod, organisation) ⇒ Object
Class Method Details
.get_organisation(mod) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/media_types.rb', line 20 def self.get_organisation(mod) name = mod.name prefixes = @organisation_prefixes.keys.select { |p| name.start_with? p } return nil unless prefixes.any? best = prefixes.max_by { |p| p.length } @organisation_prefixes[best] end |
.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 |
.set_organisation(mod, organisation) ⇒ Object
15 16 17 18 |
# File 'lib/media_types.rb', line 15 def self.set_organisation(mod, organisation) @organisation_prefixes ||= {} @organisation_prefixes[mod.name] = organisation end |