Module: Checks
- Included in:
- Github::Cache, Github::Cache::Entry, Github::CachingClient, Github::Client, Github::File, Github::Paths, Github::Tree, Github::Tree, Github::TreeClient
- Defined in:
- app/checks.rb
Overview
Some argument check methods.
Instance Method Summary collapse
- #check_boolean(hash) ⇒ Object
- #check_enumerable_of(enumerable, clazz) ⇒ Object
- #check_is_a(hash) ⇒ Object
- #check_non_empty_string(hash) ⇒ Object
- #check_non_nil(hash) ⇒ Object
- #check_positive_integer(hash) ⇒ Object
Instance Method Details
#check_boolean(hash) ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/checks.rb', line 21 def check_boolean(hash) hash.each do |key, value| raise "invalid #{key}: #{value.nil? ? 'nil' : value}" unless value.is_a?(TrueClass) || value.is_a?(FalseClass) end hash.size == 1 ? hash.values.first : hash.values end |
#check_enumerable_of(enumerable, clazz) ⇒ Object
45 46 47 48 |
# File 'app/checks.rb', line 45 def check_enumerable_of(enumerable, clazz) check_is_a(enumerable: [Enumerable, enumerable]) enumerable.each { |value| check_is_a(value: [clazz, value]) } end |
#check_is_a(hash) ⇒ Object
13 14 15 16 17 18 19 |
# File 'app/checks.rb', line 13 def check_is_a(hash) hash.each do |key, (clazz, value)| raise "invalid #{key} #{clazz}: #{value.nil? ? 'nil' : value} (#{value.class})" unless value.is_a?(clazz) end hash.size == 1 ? hash.values.first[1] : hash.values.map { |(_clazz, value)| value } end |
#check_non_empty_string(hash) ⇒ Object
29 30 31 32 33 34 35 |
# File 'app/checks.rb', line 29 def check_non_empty_string(hash) hash.each do |key, value| raise "invalid #{key}: #{value.nil? ? 'nil' : value}" unless value.is_a?(String) && !value.empty? end hash.size == 1 ? hash.values.first : hash.values end |
#check_non_nil(hash) ⇒ Object
5 6 7 8 9 10 11 |
# File 'app/checks.rb', line 5 def check_non_nil(hash) hash.each do |key, value| raise "invalid #{key}: #{value.nil? ? 'nil' : value}" if value.nil? end hash.size == 1 ? hash.values.first : hash.values end |
#check_positive_integer(hash) ⇒ Object
37 38 39 40 41 42 43 |
# File 'app/checks.rb', line 37 def check_positive_integer(hash) hash.each do |key, value| raise "invalid #{key}: #{value.nil? ? 'nil' : value}" unless value.is_a?(Integer) && value.positive? end hash.size == 1 ? hash.values.first : hash.values end |