shiny_json_logic 0.1.5 → 0.1.6

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: 5af5c24c121a66a702066d61036b7febb6230cf93d89e738f91f5b610e68eb5e
4
- data.tar.gz: 3f9e425f25edabe05fcbe8bca95302c465feb5c00f72e465694bd0195ee7e515
3
+ metadata.gz: 0b8a8110c84c6c3c200990803fee38794b6eca329633637a30f4a7f4c06eee95
4
+ data.tar.gz: 714e59c4620f1d3af97f026185d6a1e2131c7b2d3f6c6093a23334edf32b47b9
5
5
  SHA512:
6
- metadata.gz: bc18bd78dfa7f000e9000856415288b095e0092a06feb54cd1817a9cf976976bc219e90ad39ede919cbfdd7396bcb393349a890cb7347daa31c8258862eb3346
7
- data.tar.gz: 4d5f7885741001b33fe4da2f143354637a940b5d442fe402447c006a6acd9518cec4e65ceb0094de50442c0a5e100eb9e555e19fc097b501b6d1c551040fabc3
6
+ metadata.gz: d0147aaeda5d79d78786840aa872172c7369f14c5cb6281de4662cef2c9afbf9b299d13262a59244a451738e53c632cffa57dfd749b0256f239d970b9e4711da
7
+ data.tar.gz: 6e70bebb46e6fed627138f8fc84d91cc4d2db44fb88df32ceea8f65a6f09233907c7c1383950bf6c8baf42ab18ad21f7fc83842f8222f476d77a1853a7bdfa81
@@ -0,0 +1,29 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ ruby: ["2.7", "3.0", "3.2", "3.3", "4.0"]
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Set up Ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ bundler: default
26
+ bundler-cache: true
27
+
28
+ - name: Run tests
29
+ run: bundle exec rspec
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,40 @@
1
+ # Contributing to ShinyJsonLogic
2
+
3
+ Thanks for contributing to Shiny!!
4
+
5
+ ## Quick start
6
+
7
+ ```bash
8
+ bin/setup
9
+ bundle exec rspec
10
+ ```
11
+
12
+ ## What we’re looking for
13
+
14
+ - Spec alignment improvements
15
+ - Missing operators
16
+ - Edge-case tests
17
+ - Performance improvements (with tests)
18
+
19
+ ## Bug reports
20
+
21
+ Please include:
22
+
23
+ - The JSON Logic rule (as Ruby Hash or JSON)
24
+ - The data input
25
+ - Expected output
26
+ - Actual output
27
+ - Ruby version (`ruby -v`) and gem version
28
+
29
+ A minimal reproduction is ideal.
30
+
31
+ ## Adding an operator
32
+
33
+ 1. Implement the operator in `lib/shiny_json_logic/operations/`.
34
+ 2. Add focused specs under `spec/` (and/or add cases to the compatibility suite if present).
35
+ 3. Keep behavior predictable and aligned with JSON Logic semantics.
36
+ 4. Avoid adding runtime dependencies.
37
+
38
+ ## Code style
39
+
40
+ Keep changes small and explicit. Prefer tests that document behavior.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shiny_json_logic (0.1.5)
4
+ shiny_json_logic (0.1.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -10,6 +10,7 @@ GEM
10
10
  coderay (1.1.3)
11
11
  diff-lcs (1.5.0)
12
12
  method_source (1.0.0)
13
+ ostruct (0.6.3)
13
14
  pry (0.14.1)
14
15
  coderay (~> 1.1)
15
16
  method_source (~> 1.0)
@@ -34,6 +35,7 @@ PLATFORMS
34
35
  DEPENDENCIES
35
36
  bundler
36
37
  byebug
38
+ ostruct
37
39
  pry
38
40
  rake
39
41
  rspec (~> 3.0)
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # ShinyJsonLogic ✨
2
2
 
3
- > Shine bright like a Ruby 💎
4
- > **A boring, correct, and production-ready JSON Logic implementation for Ruby.**
3
+ [![CI](https://github.com/luismoyano/shiny-json-logic-ruby/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/luismoyano/shiny-json-logic-ruby/actions/workflows/ci.yml)
4
+ [![Gem Version](https://badge.fury.io/rb/shiny_json_logic.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/shiny_json_logic)
5
+ ![Ruby](https://img.shields.io/badge/ruby-%3E%3D%202.7-brightgreen)
6
+
7
+ > **A boring, correct, and production-ready JSON Logic implementation for Ruby. ✨**
5
8
 
6
9
  **ShinyJsonLogic** is a **pure Ruby**, **zero-dependency** implementation of the JSON Logic specification.
7
10
 
@@ -178,3 +181,8 @@ https://github.com/luismoyano/shiny_json_logic
178
181
  MIT License.
179
182
 
180
183
  Use it. Fork it. Ship it. (:
184
+
185
+ ---
186
+
187
+ > Shine bright like a Ruby 💎
188
+
data/SECURITY.md ADDED
@@ -0,0 +1,14 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Only the latest released version is supported with security fixes.
6
+
7
+ ## Reporting a Vulnerability
8
+
9
+ Please report security issues privately.
10
+
11
+ - Preferred: open a private report via GitHub Security Advisories for this repository.
12
+ - Alternative: open a GitHub issue **without** sensitive details and ask for a private contact channel.
13
+
14
+ Do not disclose vulnerabilities publicly until they have been reviewed and addressed.
@@ -1,3 +1,3 @@
1
1
  module ShinyJsonLogic
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -42,4 +42,5 @@ Gem::Specification.new do |spec|
42
42
  spec.add_development_dependency "rspec", "~> 3.0"
43
43
  spec.add_development_dependency 'byebug'
44
44
  spec.add_development_dependency 'pry'
45
+ spec.add_development_dependency 'ostruct'
45
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shiny_json_logic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Moyano
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ostruct
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: "\n ShinyJsonLogic is a pure-Ruby, zero-runtime-dependency implementation
84
98
  of the JSON Logic specification. Ruby 2.7+ compatible, actively maintained, test-driven,
85
99
  and designed for strict spec alignment and predictable behavior. It currently offers
@@ -90,6 +104,7 @@ executables: []
90
104
  extensions: []
91
105
  extra_rdoc_files: []
92
106
  files:
107
+ - ".github/workflows/ci.yml"
93
108
  - ".gitignore"
94
109
  - ".idea/.gitignore"
95
110
  - ".idea/modules.xml"
@@ -98,11 +113,13 @@ files:
98
113
  - ".rspec"
99
114
  - ".travis.yml"
100
115
  - CHANGELOG.md
116
+ - CONTRIBUTING.md
101
117
  - Gemfile
102
118
  - Gemfile.lock
103
119
  - LICENSE.txt
104
120
  - README.md
105
121
  - Rakefile
122
+ - SECURITY.md
106
123
  - bin/console
107
124
  - bin/setup
108
125
  - lib/core_ext/array.rb