Class: PactBroker::Pacts::SortContent
- Inherits:
-
Object
- Object
- PactBroker::Pacts::SortContent
- Extended by:
- OrderHashKeys
- Defined in:
- lib/pact_broker/pacts/sort_content.rb
Class Method Summary collapse
-
.call(pact_hash) ⇒ Object
TODO handle interactions and messages at the same time.
- .order_verifiable_content(probably_array) ⇒ Object
- .verifiable_content_key_for(pact_hash) ⇒ Object
Methods included from OrderHashKeys
order_child_array, order_hash, order_hash_keys
Class Method Details
.call(pact_hash) ⇒ Object
TODO handle interactions and messages at the same time
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/pact_broker/pacts/sort_content.rb', line 10 def self.call pact_hash key = verifiable_content_key_for(pact_hash) if key content = pact_hash[key] sorted_pact_hash = order_hash_keys(pact_hash) sorted_pact_hash[key] = order_verifiable_content(content) sorted_pact_hash else pact_hash end end |
.order_verifiable_content(probably_array) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/pact_broker/pacts/sort_content.rb', line 33 def self.order_verifiable_content probably_array # You never can tell what people will do... if probably_array.is_a?(Array) array_with_ordered_hashes = order_hash_keys(probably_array) array_with_ordered_hashes.sort_by(&:to_json) else probably_array end end |
.verifiable_content_key_for(pact_hash) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/pact_broker/pacts/sort_content.rb', line 23 def self.verifiable_content_key_for pact_hash if pact_hash["interactions"] "interactions" elsif pact_hash["messages"] "messages" else nil end end |