shiny_json_logic 0.1.4 → 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: a0344634b8f6d210b6968b38d5353c7890df29d927481d23686bc720b8680aab
4
- data.tar.gz: 8d7e436d54cf970a720415c9bba2af1ab7fe5677718072b42bd756bbba901300
3
+ metadata.gz: 0b8a8110c84c6c3c200990803fee38794b6eca329633637a30f4a7f4c06eee95
4
+ data.tar.gz: 714e59c4620f1d3af97f026185d6a1e2131c7b2d3f6c6093a23334edf32b47b9
5
5
  SHA512:
6
- metadata.gz: dcaf78915b3198bdc3da54b9ca0e12e8118105bcea515cd09e1fc83815d3b2d4c63d715c0849e2b7e6348f36754f7a25d2a50221c5e5cb41fc96a26832b085c7
7
- data.tar.gz: a6e3414cdf9db71cc870e15357fd62e726ac1eba25b134424cc882ea84a33b0af45dc391e16aec6c10ccbfd8ec9b201dc0679d8c5b3f9b8dd03305693cf4d21b
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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [0.1.5] - 2026-01-25
6
+ ### Changed
7
+ - Improve RubyGems gem description (no runtime changes).
8
+
5
9
  ## [0.1.4] - 2026-01-25
6
10
  ### Changed
7
11
  - Improve RubyGems metadata and gem description (no runtime changes).
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.4)
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.4"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -10,16 +10,10 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["moyano@hey.com"]
11
11
 
12
12
  spec.summary = "Production-ready JSON Logic for Ruby that just works: zero deps, Ruby 2.7+, high spec alignment."
13
- spec.description = <<~DESC
14
- ShinyJsonLogic is a pure-Ruby, zero-runtime-dependency implementation of the JSON Logic specification.
15
-
16
- - Ruby 2.7+ compatible
17
- - Actively maintained and test-driven
18
- - Designed for spec alignment and predictable behavior
19
- - Highest support for JSON Logic operations within the Ruby ecosystem
20
-
21
- JSON Logic lets you represent decisions as data, so rules can be stored, transmitted, and evaluated safely.
22
- DESC
13
+ spec.description = %q{
14
+ ShinyJsonLogic is a pure-Ruby, zero-runtime-dependency implementation of the JSON Logic specification. Ruby 2.7+ compatible, actively maintained, test-driven, and designed for strict spec alignment and predictable behavior. It currently offers the highest support for JSON Logic operations in the Ruby ecosystem.
15
+ }
16
+
23
17
  spec.homepage = "https://github.com/luismoyano/shiny-json-logic-ruby"
24
18
  spec.license = "MIT"
25
19
 
@@ -29,7 +23,7 @@ Gem::Specification.new do |spec|
29
23
  "homepage_uri" => spec.homepage,
30
24
  "source_code_uri" => spec.homepage,
31
25
  "documentation_uri" => "#{spec.homepage}#readme",
32
- "changelog_uri" => "#{spec.homepage}/blob/main/CHANGELOG.md",
26
+ "changelog_uri" => "#{spec.homepage}/blob/master/CHANGELOG.md",
33
27
  "rubygems_mfa_required" => "true"
34
28
  }
35
29
 
@@ -48,4 +42,5 @@ Gem::Specification.new do |spec|
48
42
  spec.add_development_dependency "rspec", "~> 3.0"
49
43
  spec.add_development_dependency 'byebug'
50
44
  spec.add_development_dependency 'pry'
45
+ spec.add_development_dependency 'ostruct'
51
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.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Moyano
@@ -80,21 +80,31 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: |
84
- ShinyJsonLogic is a pure-Ruby, zero-runtime-dependency implementation of the JSON Logic specification.
85
-
86
- - Ruby 2.7+ compatible
87
- - Actively maintained and test-driven
88
- - Designed for spec alignment and predictable behavior
89
- - Highest support for JSON Logic operations within the Ruby ecosystem
90
-
91
- JSON Logic lets you represent decisions as data, so rules can be stored, transmitted, and evaluated safely.
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'
97
+ description: "\n ShinyJsonLogic is a pure-Ruby, zero-runtime-dependency implementation
98
+ of the JSON Logic specification. Ruby 2.7+ compatible, actively maintained, test-driven,
99
+ and designed for strict spec alignment and predictable behavior. It currently offers
100
+ the highest support for JSON Logic operations in the Ruby ecosystem.\n "
92
101
  email:
93
102
  - moyano@hey.com
94
103
  executables: []
95
104
  extensions: []
96
105
  extra_rdoc_files: []
97
106
  files:
107
+ - ".github/workflows/ci.yml"
98
108
  - ".gitignore"
99
109
  - ".idea/.gitignore"
100
110
  - ".idea/modules.xml"
@@ -103,11 +113,13 @@ files:
103
113
  - ".rspec"
104
114
  - ".travis.yml"
105
115
  - CHANGELOG.md
116
+ - CONTRIBUTING.md
106
117
  - Gemfile
107
118
  - Gemfile.lock
108
119
  - LICENSE.txt
109
120
  - README.md
110
121
  - Rakefile
122
+ - SECURITY.md
111
123
  - bin/console
112
124
  - bin/setup
113
125
  - lib/core_ext/array.rb
@@ -162,7 +174,7 @@ metadata:
162
174
  homepage_uri: https://github.com/luismoyano/shiny-json-logic-ruby
163
175
  source_code_uri: https://github.com/luismoyano/shiny-json-logic-ruby
164
176
  documentation_uri: https://github.com/luismoyano/shiny-json-logic-ruby#readme
165
- changelog_uri: https://github.com/luismoyano/shiny-json-logic-ruby/blob/main/CHANGELOG.md
177
+ changelog_uri: https://github.com/luismoyano/shiny-json-logic-ruby/blob/master/CHANGELOG.md
166
178
  rubygems_mfa_required: 'true'
167
179
  post_install_message:
168
180
  rdoc_options: []