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
42547 42548 42549 42550 42551 42552 42553 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42547 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
42555 42556 42557 42558 42559 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42555 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)
42532 42533 42534 42535 42536 42537 42538 42539 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42532 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
42541 42542 42543 42544 42545 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42541 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
42561 42562 42563 42564 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42561 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
42512 42513 42514 42515 42516 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42512 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
42566 42567 42568 42569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42566 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
42482 42483 42484 42485 42486 42487 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42482 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
42503 42504 42505 42506 42507 42508 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42503 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
42496 42497 42498 42499 42500 42501 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42496 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
42489 42490 42491 42492 42493 42494 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42489 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.
42520 42521 42522 42523 42524 42525 42526 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42520 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 |