rspec-enriched_json 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ae7cf3c69f8919e4810f402f0f34fa88bb69affbadcf6f0f9ec0f1150a4bd184
4
- data.tar.gz: 4102bf64a17bf2a5d925814f0cb63cb749c14a41a1c8df099a85c1c636b1737c
3
+ metadata.gz: 2959f4b47b6018d5293f62a8876036162f6428317796507fed22436312b7609c
4
+ data.tar.gz: f27604ef443190fead00765e178a381e29871cdbfd5aea49486e7fd1336abbb6
5
5
  SHA512:
6
- metadata.gz: 389db8798122e41f7bceacd58fe4532b2856b3795b96f540915fbe40f2dab9e6892b1dd7b790c7b04254db450d0696188ef3522d6971309808cf15eaa7bcb63b
7
- data.tar.gz: 2d1a5f679578f2621bc54e9a60199ba167e5a7e5bb03fb027aaefdb0183d420e10d9e14abc1879e7ab43f04215348a823f732043e48feeb8ae2f898a029a2336
6
+ metadata.gz: 146df6d9cfd90245d34bf1ae4d913834e7ab45de3da22208fd5f5e46c49a6e39335acfa0d9db1e4f0b2270f34dfaa9d87abdc6babc3e24ab423f7fbf4ad0e546
7
+ data.tar.gz: 31d802d2c5842ddee236f6e2b530dac5130fa7e8b3ed18c9d3b5269779e4bba0df00f425660e44e929cf87be76535a0ea8f334fd75132e9f593d6e11e9b2c549
data/README.md CHANGED
@@ -83,7 +83,7 @@ With this gem, you get structured data alongside the original message:
83
83
  "message": "\nexpected: \"Hello, Ruby!\"\n got: \"Hello, World!\"\n\n(compared using ==)\n",
84
84
  "backtrace": ["./spec/example_spec.rb:5:in `block (2 levels) in <top (required)>'"]
85
85
  },
86
- "enriched_with": {
86
+ "details": {
87
87
  "expected": "Hello, Ruby!",
88
88
  "actual": "Hello, World!",
89
89
  "matcher_name": "RSpec::Matchers::BuiltIn::Eq",
@@ -111,20 +111,20 @@ With this gem, you get structured data alongside the original message:
111
111
  ### Simple Values
112
112
  ```ruby
113
113
  expect(1 + 1).to eq(3)
114
- # enriched_with: { "expected": 3, "actual": 2 }
114
+ # details: { "expected": 3, "actual": 2 }
115
115
  ```
116
116
 
117
117
  ### Collections
118
118
  ```ruby
119
119
  expect([1, 2, 3]).to eq([1, 2, 4])
120
- # enriched_with: { "expected": [1, 2, 4], "actual": [1, 2, 3] }
120
+ # details: { "expected": [1, 2, 4], "actual": [1, 2, 3] }
121
121
  ```
122
122
 
123
123
  ### Complex Objects
124
124
  ```ruby
125
125
  Product = Struct.new(:name, :price)
126
126
  expect(Product.new("Laptop", 999)).to eq(Product.new("Laptop", 899))
127
- # enriched_with includes class info and struct values
127
+ # details includes class info and struct values
128
128
  ```
129
129
 
130
130
  ### Custom Messages
@@ -132,7 +132,7 @@ expect(Product.new("Laptop", 999)).to eq(Product.new("Laptop", 899))
132
132
  expect(balance).to be >= required,
133
133
  "Insufficient funds: $#{balance} available, $#{required} required"
134
134
  # exception.message: "Insufficient funds: $50 available, $100 required"
135
- # enriched_with: { "original_message": "expected: >= 100\n got: 50" }
135
+ # details: { "original_message": "expected: >= 100\n got: 50" }
136
136
  ```
137
137
 
138
138
  ### Metadata Capture
@@ -6,11 +6,11 @@ module RSpec
6
6
  module EnrichedJson
7
7
  # Custom exception that carries structured data alongside the message
8
8
  class EnrichedExpectationNotMetError < RSpec::Expectations::ExpectationNotMetError
9
- attr_reader :enriched_with
9
+ attr_reader :details
10
10
 
11
- def initialize(message, enriched_with = {})
11
+ def initialize(message, details = {})
12
12
  super(message)
13
- @enriched_with = enriched_with
13
+ @details = details
14
14
  end
15
15
  end
16
16
  end
@@ -106,7 +106,7 @@ module RSpec
106
106
  actual_raw = extract_value(matcher, :actual)
107
107
 
108
108
  # Collect structured data
109
- enriched_with = {
109
+ details = {
110
110
  expected: Serializer.serialize_value(expected_raw),
111
111
  actual: Serializer.serialize_value(actual_raw),
112
112
  original_message: original_message, # Only populated when custom message overrides it
@@ -117,7 +117,7 @@ module RSpec
117
117
  }
118
118
 
119
119
  # Raise new exception with data attached
120
- raise EnrichedExpectationNotMetError.new(e.message, enriched_with)
120
+ raise EnrichedExpectationNotMetError.new(e.message, details)
121
121
  end
122
122
 
123
123
  private
@@ -25,8 +25,8 @@ module RSpec
25
25
  }
26
26
 
27
27
  # Add structured data if available
28
- if e.is_a?(RSpec::EnrichedJson::EnrichedExpectationNotMetError) && e.enriched_with
29
- hash[:enriched_with] = safe_structured_data(e.enriched_with)
28
+ if e.is_a?(RSpec::EnrichedJson::EnrichedExpectationNotMetError) && e.details
29
+ hash[:details] = safe_structured_data(e.details)
30
30
  end
31
31
  end
32
32
  end
@@ -84,13 +84,13 @@ module RSpec
84
84
  hierarchy
85
85
  end
86
86
 
87
- def safe_structured_data(enriched_with)
87
+ def safe_structured_data(details)
88
88
  {
89
- expected: safe_serialize(enriched_with[:expected]),
90
- actual: safe_serialize(enriched_with[:actual]),
91
- matcher_name: enriched_with[:matcher_name],
92
- original_message: enriched_with[:original_message],
93
- diff_info: enriched_with[:diff_info]
89
+ expected: safe_serialize(details[:expected]),
90
+ actual: safe_serialize(details[:actual]),
91
+ matcher_name: details[:matcher_name],
92
+ original_message: details[:original_message],
93
+ diff_info: details[:diff_info]
94
94
  }.compact
95
95
  end
96
96
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module EnrichedJson
5
- VERSION = "0.3.0"
5
+ VERSION = "0.4.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-enriched_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raghu Betina