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
26187 26188 26189 26190 26191 26192 26193 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26187 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
26195 26196 26197 26198 26199 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26195 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)
26172 26173 26174 26175 26176 26177 26178 26179 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26172 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
26181 26182 26183 26184 26185 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26181 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
26201 26202 26203 26204 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26201 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
26152 26153 26154 26155 26156 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26152 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
26206 26207 26208 26209 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26206 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
26122 26123 26124 26125 26126 26127 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26122 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
26143 26144 26145 26146 26147 26148 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26143 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
26136 26137 26138 26139 26140 26141 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26136 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
26129 26130 26131 26132 26133 26134 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26129 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.
26160 26161 26162 26163 26164 26165 26166 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26160 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 |