Module: StoreAgent::Validator

Included in:
Node::Attachment, Node::Object, User, Workspace
Defined in:
lib/store_agent/validator.rb

Overview

バリデーションに使用するメソッドを定義したモジュール

Instance Method Summary collapse

Instance Method Details

#validates_to_be_excluded_slash!(value) ⇒ Object

文字列中に ‘/’ を含むとエラー



33
34
35
36
37
# File 'lib/store_agent/validator.rb', line 33

def validates_to_be_excluded_slash!(value)
  if value.to_s.include?("/")
    raise ArgumentError, "#{value} includes '/'"
  end
end

#validates_to_be_not_guest_identifier!(value) ⇒ Object

ゲストユーザーのIDと一致している場合エラー



47
48
49
50
51
# File 'lib/store_agent/validator.rb', line 47

def validates_to_be_not_guest_identifier!(value)
  if value.to_s == StoreAgent.config.guest_identifier
    raise ArgumentError, "#{value} is reserved for guest"
  end
end

#validates_to_be_not_nil_value!(accessor_method_name) ⇒ Object

アクセサが nil を返す場合エラー



54
55
56
57
58
# File 'lib/store_agent/validator.rb', line 54

def validates_to_be_not_nil_value!(accessor_method_name)
  if send(accessor_method_name).nil?
    raise ArgumentError, "#{accessor_method_name} is nil"
  end
end

#validates_to_be_not_superuser_identifier!(value) ⇒ Object

スーパーユーザーのIDと一致している場合エラー



40
41
42
43
44
# File 'lib/store_agent/validator.rb', line 40

def validates_to_be_not_superuser_identifier!(value)
  if value.to_s == StoreAgent.config.superuser_identifier
    raise ArgumentError, "#{value} is reserved for superuser"
  end
end

#validates_to_be_string_or_symbol!(value) ⇒ Object

文字列またはシンボルでないとエラー



21
22
23
24
25
26
27
28
29
30
# File 'lib/store_agent/validator.rb', line 21

def validates_to_be_string_or_symbol!(value)
  case
  when value.nil?, value == "", value == :""
    raise ArgumentError, "#{value} is empty string or symbol"
  when !value.is_a?(String) && !value.is_a?(Symbol)
    raise ArgumentError, "#{value} is not string or symbol"
  else
    true
  end
end