inquirex 0.3.1 → 0.4.1

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: 5457c529512019dbfcb838eb1a607d933d85cad7a2edc926bd0049eca271f2f0
4
- data.tar.gz: f561ac674e088508c2bb33726016660dc5a29cbbeb085e17ec84de8833c45859
3
+ metadata.gz: ef8604fa6b1eb6fb6cd9506c696c806067d209abf6260872f5d0cc87d5b6eae0
4
+ data.tar.gz: 1a543f219f202ff5ae05fcae1040e460391e044b177a94612519618d9604f943
5
5
  SHA512:
6
- metadata.gz: be941ae3435a8e114dce7234477afb5d29e2624f7ddf8ed07fe8118d23b031390dd4c59610251f8419469765e4c6db5bc5413522b9f1befcc5e218e95b295513
7
- data.tar.gz: 831876215c0ee5cd29d7bf72549d9a430633b3dafe6f154e813df2891381bc9d269ddddbcef117a6b86697c32ae4708fdf30faf0a2d8f18e259b3f933f76c1a2
6
+ metadata.gz: eeeb13a340aaf5169f661c4fce77bdc666e68d8fac9c7b4ae52757c5b5999b46ae0a9ec83042c680d3f1b57302cf9f0e08c4e9b80467ccd98e2447294f0110cb
7
+ data.tar.gz: 0b213dde96f8ec277e31d302a557bb665361046529b9ebf75c19a159518f7f84e7d18ec6db4927e7d23d1ca4bd1dd1f0e68208c971624cd2c96b1624939dcc74
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 4.0.2
1
+ 4.0.5
data/README.md CHANGED
@@ -4,6 +4,19 @@
4
4
 
5
5
  `inquirex` is a pure Ruby, declarative, rules-driven questionnaire engine for building conditional intake forms, qualification wizards, and branching surveys.
6
6
 
7
+ > [!IMPORTANT]
8
+ >
9
+ > Note that `inquirex` is the base gem of the ecosystem that contains:
10
+ >
11
+ > - [`inquirex`](https://github.com/inquirex/inquirex)
12
+ > - [`inquirex-llm`](https://github.com/inquirex/inquirex-llm)
13
+ > - [`inquirex-tty`](https://github.com/inquirex/inquirex-)
14
+ > - [`inquirex-js`](https://github.com/inquirex/inquirex-js)
15
+ >
16
+ > For a presentation on these gems and what they do please watch the [RubySF presentation](https://www.youtube.com/watch?v=iaoKW7Ap3_M&t=1s) and you can also [view the slides form the presentation](https://reinvent.one/images/talks/pdfs/2026.inquirex.pdf).
17
+
18
+ ## Summary
19
+
7
20
  It is the core gem in the Inquirex ecosystem and focuses on:
8
21
 
9
22
  - A conversational DSL (`ask`, `say`, `header`, `btw`, `warning`, `confirm`)
@@ -17,8 +30,8 @@ It is the core gem in the Inquirex ecosystem and focuses on:
17
30
 
18
31
  ## Status
19
32
 
20
- - Version: `0.2.0`
21
- - Ruby: `>= 4.0.0` (project currently uses `4.0.2`)
33
+ - Version: `0.4.0`
34
+ - Ruby: `>= 4.0.0` (project currently uses `4.0.5`)
22
35
  - Test suite: `220 examples, 0 failures`
23
36
  - Coverage: ~`94%` line coverage
24
37
 
@@ -282,7 +295,11 @@ engine.totals # => { price: 700.0, complexity: 4 }
282
295
 
283
296
  ### JSON wire format
284
297
 
285
- Accumulators serialize predictably, keeping the contract with `inquirex-js` explicit:
298
+ Accumulators serialize predictably, keeping the contract with `inquirex-js` explicit.
299
+
300
+ > [!NOTE]
301
+ >
302
+ > You can convert between Ruby DSL and JSON using the [`inquirex-tty`](https://github.com/inquirex/inquirex-tty) gem.
286
303
 
287
304
  ```json
288
305
  {
data/justfile CHANGED
@@ -1,38 +1,69 @@
1
- set shell := ["bash", "-lc"]
1
+ # Tell 'just' to run bash, source our setup script, then execute the recipe
2
+ set shell := ["bash", "-c"]
2
3
 
3
- rbenv := 'eval "$(rbenv init -)"'
4
+ version := `grep VERSION lib/inquirex/version.rb | awk '{print $3}' | tr -d '"' | tr -d '\n'`
5
+ rbenv := 'eval "$(rbenv init bash)"; bundle exec '
6
+ repo := 'git@github.com:inquirex/inquirex.git'
4
7
 
5
8
  [no-exit-message]
6
9
  recipes:
7
- @just --choose
10
+ just --choose
8
11
 
9
12
  # Sync all dependencies
10
13
  install:
11
- {{rbenv}} && bin/setup
14
+ bin/setup
12
15
 
13
- # Lint and reformat files
14
- lint-fix *args:
15
- {{rbenv}} && bundle exec rubocop -a
16
-
17
- alias format := lint-fix
16
+ build: install
18
17
 
19
18
  # Lint and reformat files
20
19
  lint:
21
- {{rbenv}} && bundle exec rubocop
20
+ {{ rbenv }} rubocop
21
+
22
+ # Lint and reformat files (-a) — pass -A as an argument
23
+ format *args:
24
+ {{ rbenv }} rubocop -a {{ args }}
22
25
 
23
26
  # Run all the tests
24
27
  test *args:
25
- {{rbenv}} && ENVIRONMENT=test bundle exec rspec {{args}}
28
+ export ENVIRONMENT=test; {{ rbenv }} rspec {{args}}
26
29
 
27
30
  # Run tests with coverage
28
31
  test-coverage *args:
29
- ENVIRONMENT=test COVERAGE=true bundle exec rspec
32
+ export ENVIRONMENT=test; export COVERAGE=true; {{ rbenv }} rspec {{ args }}
33
+
34
+ check-all: lint test-coverage
30
35
 
31
36
  clean:
32
37
  #!/usr/bin/env bash
33
- find . -name .DS_Store -delete -print || true
34
- rm -rf tmp/*
38
+ @find . -name .DS_Store -delete -print || true
39
+ @rm -rf tmp/*
35
40
 
36
41
  # Run all lefthook pre-commit hooks
37
- ci:
38
- {{rbenv}} && lefthook run pre-commit --all-files
42
+ lefthook:
43
+ {{ rbenv }} lefthook run pre-commit --all-files
44
+
45
+ # Print current gem version
46
+ version:
47
+ @echo "{{ version }}"
48
+
49
+ # Clobber
50
+ clobber:
51
+ {{ rbenv }} rake clobber
52
+
53
+ # Generate documentation
54
+ doc:
55
+ #!/usr/bin/env bash
56
+ {{ rbenv }} rake doc
57
+
58
+ # Create
59
+ publish: build
60
+ {{ rbenv }} rake release[remote]
61
+
62
+
63
+ # Tag v{{ version }}, publish the GH release, & refresh the Homebrew tap.
64
+ release:
65
+ git fetch --tags
66
+ git tag -f "v{{ version }}"
67
+ git push -f --tags
68
+ gh release delete -y "v{{ version }}" --repo {{ repo }} 2>/dev/null || true
69
+ gh release create "v{{ version }}" --generate-notes --repo {{ repo }}
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Inquirex
4
- VERSION = "0.3.1"
4
+ VERSION = "0.4.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inquirex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Gredeskoul
@@ -86,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  requirements: []
89
- rubygems_version: 4.0.10
89
+ rubygems_version: 4.0.16
90
90
  specification_version: 4
91
91
  summary: A declarative, rules-driven questionnaire engine for building conditionally-branching
92
92
  intake forms, qualification wizards, and surveys in pure Ruby.