praxis 2.0.pre.39 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.