Module: Io::Flow::V0::HttpClient::Preconditions
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Class Method Summary collapse
- .assert_boolean(field_name, value) ⇒ Object
- .assert_boolean_or_nil(field_name, value) ⇒ Object
-
.assert_class(field_name, value, klass) ⇒ Object
Asserts that value is not nill and is_?(klass).
- .assert_class_or_nil(field_name, value, klass) ⇒ Object
- .assert_collection_of_class(field_name, values, klass) ⇒ Object
-
.assert_empty_opts(opts) ⇒ Object
Throws an error if opts is not empty.
- .assert_hash_of_class(field_name, hash, klass) ⇒ Object
- .check_argument(expression, error_message = nil) ⇒ Object
- .check_not_blank(field_name, reference, error_message = nil) ⇒ Object
- .check_not_nil(field_name, reference, error_message = nil) ⇒ Object
- .check_state(expression, error_message = nil) ⇒ Object
-
.require_keys(hash, fields, error_prefix = nil) ⇒ Object
Requires that the provided hash has the specified keys.
Class Method Details
.assert_boolean(field_name, value) ⇒ Object
64876 64877 64878 64879 64880 64881 64882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64876 def Preconditions.assert_boolean(field_name, value) Preconditions.check_not_nil('field_name', field_name) Preconditions.check_not_nil('value', value, "Value for %s cannot be nil. Expected an instance of TrueClass or FalseClass" % field_name) Preconditions.check_state(value.is_a?(TrueClass) || value.is_a?(FalseClass), "Value for #{field_name} is of type[#{value.class}] - class[TrueClass or FalseClass] is required. value[#{value.inspect.to_s}]") value end |
.assert_boolean_or_nil(field_name, value) ⇒ Object
64884 64885 64886 64887 64888 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64884 def Preconditions.assert_boolean_or_nil(field_name, value) if !value.nil? Preconditions.assert_boolean(field_name, value) end end |
.assert_class(field_name, value, klass) ⇒ Object
Asserts that value is not nill and is_?(klass). Returns value. Common use is
amount = Preconditions.assert_class(‘amount’, amount, BigDecimal)
64861 64862 64863 64864 64865 64866 64867 64868 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64861 def Preconditions.assert_class(field_name, value, klass) Preconditions.check_not_nil('field_name', field_name) Preconditions.check_not_nil('klass', klass) Preconditions.check_not_nil('value', value, "Value for %s cannot be nil. Expected an instance of class %s" % [field_name, klass.name]) Preconditions.check_state(value.is_a?(klass), "Value for #{field_name} is of type[#{value.class}] - class[#{klass}] is required. value[#{value.inspect.to_s}]") value end |
.assert_class_or_nil(field_name, value, klass) ⇒ Object
64870 64871 64872 64873 64874 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64870 def Preconditions.assert_class_or_nil(field_name, value, klass) if !value.nil? Preconditions.assert_class(field_name, value, klass) end end |
.assert_collection_of_class(field_name, values, klass) ⇒ Object
64890 64891 64892 64893 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64890 def Preconditions.assert_collection_of_class(field_name, values, klass) Preconditions.assert_class(field_name, values, Array) values.each { |v| Preconditions.assert_class(field_name, v, klass) } end |
.assert_empty_opts(opts) ⇒ Object
Throws an error if opts is not empty. Useful when parsing arguments to a function
64841 64842 64843 64844 64845 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64841 def Preconditions.assert_empty_opts(opts) if !opts.empty? raise PreconditionException.new("Invalid opts: #{opts.keys.inspect}\n#{opts.inspect}") end end |
.assert_hash_of_class(field_name, hash, klass) ⇒ Object
64895 64896 64897 64898 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64895 def Preconditions.assert_hash_of_class(field_name, hash, klass) Preconditions.assert_class(field_name, hash, Hash) values.each { |k, v| Preconditions.assert_class(field_name, v, klass) } end |
.check_argument(expression, error_message = nil) ⇒ Object
64811 64812 64813 64814 64815 64816 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64811 def Preconditions.check_argument(expression, =nil) if !expression raise PreconditionException.new( || "check_argument failed") end nil end |
.check_not_blank(field_name, reference, error_message = nil) ⇒ Object
64832 64833 64834 64835 64836 64837 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64832 def Preconditions.check_not_blank(field_name, reference, =nil) if reference.to_s.strip == "" raise PreconditionException.new( || "argument for %s cannot be blank" % field_name) end reference end |
.check_not_nil(field_name, reference, error_message = nil) ⇒ Object
64825 64826 64827 64828 64829 64830 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64825 def Preconditions.check_not_nil(field_name, reference, =nil) if reference.nil? raise PreconditionException.new( || "argument for %s cannot be nil" % field_name) end reference end |
.check_state(expression, error_message = nil) ⇒ Object
64818 64819 64820 64821 64822 64823 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64818 def Preconditions.check_state(expression, =nil) if !expression raise PreconditionException.new( || "check_state failed") end nil end |
.require_keys(hash, fields, error_prefix = nil) ⇒ Object
Requires that the provided hash has the specified keys.
64849 64850 64851 64852 64853 64854 64855 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 64849 def Preconditions.require_keys(hash, fields, error_prefix=nil) missing = fields.select { |f| !hash.has_key?(f) } if !missing.empty? msg = "Missing required fields: " + missing.join(", ") raise PreconditionException.new(error_prefix.empty? ? msg : "#{error_prefix}: #{msg}") end end |