module Micro::Attributes::Macros::Options

Constants

ALL
INVALID_MESSAGE
PERMITTED
PRIVATE
PROTECTED
PUBLIC
REQUIRED
VISIBILITY_NAMES

Public Class Methods

check(opt) click to toggle source
# File lib/micro/attributes/macros.rb, line 18
def self.check(opt)
  invalid_keys = opt.keys - PERMITTED

  return if invalid_keys.empty?

  invalid_options = { invalid_options: invalid_keys.inspect.tr('[', '').tr(']', '') }

  raise ArgumentError, (INVALID_MESSAGE % invalid_options)
end
for_accept(opt) click to toggle source
# File lib/micro/attributes/macros.rb, line 28
def self.for_accept(opt)
  allow_nil = opt[:allow_nil]
  rejection_message = opt[:rejection_message]

  return [:accept, opt[:accept], allow_nil, rejection_message] if opt.key?(:accept)
  return [:reject, opt[:reject], allow_nil, rejection_message] if opt.key?(:reject)

  Kind::Empty::ARRAY
end
private?(visibility) click to toggle source
# File lib/micro/attributes/macros.rb, line 56
def self.private?(visibility); visibility == PRIVATE; end
protected?(visibility) click to toggle source
# File lib/micro/attributes/macros.rb, line 57
def self.protected?(visibility); visibility == PROTECTED; end
visibility_index(opt) click to toggle source
# File lib/micro/attributes/macros.rb, line 44
def self.visibility_index(opt)
  return PRIVATE if opt[:private]
  return PROTECTED if opt[:protected]
  PUBLIC
end
visibility_name_from_index(visibility_index) click to toggle source
# File lib/micro/attributes/macros.rb, line 52
def self.visibility_name_from_index(visibility_index)
  VISIBILITY_NAMES[visibility_index]
end