praxis 2.0.pre.39 → 2.0.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: 2be7b40ec996f685c3d87a407523002b18415bd783f5b0aee34a76c329e479ff
4
- data.tar.gz: 9de2e06a84e0004c5ab224c8ae70f9bf5fc246520e432f0c6a01bcd8540e2837
3
+ metadata.gz: ee1ee0bd1b0236a6ca7a857427bb4f8309e8941a8c8a9a39fd038dbae7bd842e
4
+ data.tar.gz: 062d6c3d29aff746c10c00c9df152f124cda8062b2017fab972b375688fc88be
5
5
  SHA512:
6
- metadata.gz: 29f899358dde8d2f661334a883f0dc5c2a4580d8bdfa001860d580a54233bca1557adf3d685dcdbdeba94bade1a9245d05e9db193cd281ef3fba098e95a969f7
7
- data.tar.gz: ba0718401b772eea6fcaab758157c2180a8196c4f1bb2e1b59afe4033626e2cd97ecd2363a724b36c509efe99c17bbbdc986058db8fd1816cbcd0c9a3ea074ac
6
+ metadata.gz: 9e3c59304f4ff974634d01a6c298c29a150286d5d31ff0596114fbcfe20ea3ab46be0014b5e0fe6dc7e740f7c8930f0c8d65e8308aa6662f450d76e2fec7157d
7
+ data.tar.gz: 87f37df6f948bc8419f06ce5f719be768e79911ecc971bb258677883fcab695e3f45d32ae716676579a326a1bc92584945c8f28f6497de6a99b9896ecd627131
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Praxis Changelog
2
2
 
3
+ # 2.0.0
4
+
5
+ - The much expected official 2.0 release of Praxis, that has been pre-releasing in the 'preX' versions for a long time.
6
+ - Includes all features included in 2.0.pre40 plus a simple OpenAPI enhancement to include 'description' test in MediaTypes (Schema objects)
7
+
8
+ ## 2.0.pre40
9
+
10
+ - Prevent IRB from running console in a new Thread (#405)
11
+
3
12
  ## 2.0.pre.39
4
13
 
5
14
  - Revert JSON handler back to `json` gem, as `oj` was too unstable when used with ActiveSupport.
data/README.md CHANGED
@@ -29,7 +29,7 @@ praxis example my-app && cd my-app && bundle
29
29
  rackup
30
30
  ```
31
31
 
32
- Or check the getting started tutorial and reference docs at https://www.praxis-framework.io all that Praxis has to offer.
32
+ Or check the getting started tutorial and reference docs at https://site.praxis-framework.io all that Praxis has to offer.
33
33
 
34
34
  ## Mailing List
35
35
  Join our Google Groups for discussion, support and announcements.
@@ -39,9 +39,9 @@ Join our Google Groups for discussion, support and announcements.
39
39
  * [praxis-development](http://groups.google.com/d/forum/praxis-development) (discussion about the
40
40
  development of Praxis itself)
41
41
 
42
- Join our slack support and general announcements channel for on-the-spot answers to your questions:
42
+ <!-- Join our slack support and general announcements channel for on-the-spot answers to your questions:
43
43
  * To join our slack chat please go to: http://praxis-framework.herokuapp.com and sign in for an account.
44
- * Once you have an account, hop onto the chat at http://praxis-framework.slack.com
44
+ * Once you have an account, hop onto the chat at http://praxis-framework.slack.com -->
45
45
 
46
46
  And follow us on twitter: [@praxisapi](http://twitter.com/praxisapi)
47
47
 
@@ -52,7 +52,7 @@ for further details on what contributions are accepted and how to go about
52
52
  contributing.
53
53
 
54
54
  ## Requirements
55
- Praxis requires Ruby 2.5.0 or greater.
55
+ Praxis requires Ruby 2.7.0 or greater, but it is best when used with the latest 3.x series.
56
56
 
57
57
  ## License
58
58
 
@@ -0,0 +1,3 @@
1
+ /.bundle
2
+ /vendor
3
+ w
@@ -4,7 +4,10 @@
4
4
 
5
5
  source 'https://rubygems.org'
6
6
 
7
- gem 'activerecord', '>=7'
7
+ # TODO: figure out incompatibility between ActiveRecord 7.1 and SQLite
8
+ # @see https://github.com/praxis/praxis/pull/405#issuecomment-1780570599
9
+ # Until then, we're pinned to 7.0.x for purposes of testing.
10
+ gem 'activerecord', '~> 7.0.8'
8
11
  gem 'rubocop'
9
12
  gem 'sequel', '~> 5'
10
13
 
@@ -236,6 +236,12 @@ module Praxis
236
236
  end
237
237
  resolve_domain_model!
238
238
  end
239
+ # Make sure to add the given defined description to the underlying type, so it can show up in the docs, etc
240
+ # Blueprint groups do not have a description...
241
+ if respond_to?(:description) && description
242
+ options[:description] = description
243
+ @attribute.type.options[:description] = description
244
+ end
239
245
  super
240
246
  end
241
247
 
@@ -5,38 +5,35 @@ namespace :praxis do
5
5
  task :console do
6
6
  # Use irb if available (which it almost always is).
7
7
  require 'irb'
8
+ # Ensure that we save history just like normal IRB
9
+ require 'irb/ext/save-history'
8
10
 
9
11
  Rake::Task['praxis:environment'].invoke
10
12
 
13
+ basedir = ::Praxis::Application.instance.root
14
+ nickname = File.basename(basedir)
15
+
11
16
  # Keep IRB.setup from complaining about bad ARGV options
12
17
  old_argv = ARGV.dup
13
18
  ARGV.clear
14
- IRB.setup nil
19
+ IRB.setup(basedir)
15
20
  ARGV.concat(old_argv)
16
21
 
17
- # Ensure that multi-irb has a context to work with (and, indirectly an instance of IRB::Irb).
18
- IRB.conf[:MAIN_CONTEXT] = IRB::Irb.new.context
19
-
20
- # Allow reentrant IRB
21
- require 'irb/ext/multi-irb'
22
-
23
- # Ensure that we save history just like normal IRB
24
- require 'irb/ext/save-history'
25
-
26
22
  # Remove main object from prompt (its stringify is not useful)
27
- nickname = File.basename(::Praxis::Application.instance.root)
28
23
  IRB.conf[:PROMPT][:DEFAULT] = {
29
24
  PROMPT_I: "%N(#{nickname}):%03n:%i> ",
30
25
  PROMPT_N: "%N(#{nickname}):%03n:%i> ",
31
26
  PROMPT_S: "%N(#{nickname}):%03n:%i%l ",
32
27
  PROMPT_C: "%N(#{nickname}):%03n:%i* ",
33
28
  }
34
-
35
29
  # Disable inefficient, distracting autocomplete
36
30
  IRB.conf[:USE_AUTOCOMPLETE] = false
37
31
 
38
- # Invoke the REPL, then cleanly shut down
39
- IRB.irb(nil, Praxis::Application.instance)
32
+ # Invoke the REPL, setting the workspace binding to the application object.
33
+ IRB::Irb.new(IRB::WorkSpace.new(::Praxis::Application.instance)).run(
34
+ IRB.conf,
35
+ )
36
+ # Cleanly shut down to ensure we save history
40
37
  IRB.irb_at_exit
41
38
  end
42
39
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Praxis
4
- VERSION = '2.0.pre.39'
4
+ VERSION = "2.0.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: praxis
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.pre.39
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep M. Blanquer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-09-06 00:00:00.000000000 Z
12
+ date: 2024-06-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -387,6 +387,7 @@ files:
387
387
  - Rakefile
388
388
  - SELECTOR_NOTES.txt
389
389
  - bin/praxis
390
+ - gemfiles/.gitignore
390
391
  - gemfiles/active_6.gemfile
391
392
  - gemfiles/active_7.gemfile
392
393
  - lib/praxis.rb
@@ -701,11 +702,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
701
702
  version: '2.7'
702
703
  required_rubygems_version: !ruby/object:Gem::Requirement
703
704
  requirements:
704
- - - ">"
705
+ - - ">="
705
706
  - !ruby/object:Gem::Version
706
- version: 1.3.1
707
+ version: '0'
707
708
  requirements: []
708
- rubygems_version: 3.4.10
709
+ rubygems_version: 3.5.6
709
710
  signing_key:
710
711
  specification_version: 4
711
712
  summary: Building APIs the way you want it.