camille 0.6.2 → 0.6.4

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: 6b37e0a4afe4e40ef39ea0b1ea6ffa523c8b32c731c0574740ecbd47de87e150
4
- data.tar.gz: 9af7a11aa04232eee613a8f26c29a8e59c9991a8b8e88e35c730ee2081db4576
3
+ metadata.gz: 8d5bb9ed1aaea6f00edbd04bf5d20a37d1a6f3cac39afc9a589e8e458f4c5363
4
+ data.tar.gz: c3e50816796af03af2b1be68cfaf635bb0ee6cc692451caadf927cc0f0f53b56
5
5
  SHA512:
6
- metadata.gz: f52a3cb7c71e08d927986b4468d61f4814bc9de9534591be21ddb058a94825787daee610cf8be05b532def27e1a873e4408daeb0452adc8c8ee70572c3b5376a
7
- data.tar.gz: e02f55abc595ad16ccb23a78320346b1c4d93c7c9127d3d9f19a87581c820f4cf86b7b10a5abf932d3642ac65b4672dcd4feba417eb1aac738608d398740d235
6
+ metadata.gz: d109a1064725e968ad7c89a5b0814ecb3e2f3ba58004c680d26548baaea3a0306e992511e51bc73a7856202a60749c50de342d56902cee722872f6803625f83e
7
+ data.tar.gz: 60bfc88c5b15e31ce42dbcff1f86cfe673c14c5510a5813b1900cdf76aa8cc58d590fdb85a618dd3ddcc65f75ff8ddd070f8150f3af0aa2e4988b2890c2dc498
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.4
4
+
5
+ ### Changed
6
+
7
+ * **[BREAKING]** Calling `transform` before `check` is now each custom type's responsibility. To migrate, copy the `check` method [here](https://github.com/onyxblade/camille/commit/00fb254667480c3a2ce222209b09f7afd714fd5d#diff-94b933f5da6d8a5cfd11e24fd89c85cd8e788e4f25ca86a94bbf8aaabaade207R13) to existing custom types that make use of `transform`.
8
+ * Warning comment is moved to config.ts_header.
9
+
10
+ ## 0.6.3
11
+
12
+ ### Added
13
+
14
+ * Allow accessing Rails models from type files.
15
+
3
16
  ## 0.6.2
4
17
 
5
18
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- camille (0.6.1)
4
+ camille (0.6.3)
5
5
  rails (>= 6.1, < 8.1)
6
6
 
7
7
  GEM
@@ -109,14 +109,14 @@ GEM
109
109
  marcel (1.0.4)
110
110
  mini_mime (1.1.5)
111
111
  minitest (5.25.4)
112
- net-imap (0.5.4)
112
+ net-imap (0.5.6)
113
113
  date
114
114
  net-protocol
115
115
  net-pop (0.1.2)
116
116
  net-protocol
117
117
  net-protocol (0.2.2)
118
118
  timeout
119
- net-smtp (0.5.0)
119
+ net-smtp (0.5.1)
120
120
  net-protocol
121
121
  nio4r (2.7.4)
122
122
  nokogiri (1.17.2-x86_64-linux)
@@ -194,7 +194,8 @@ GEM
194
194
  tzinfo (2.0.6)
195
195
  concurrent-ruby (~> 1.0)
196
196
  useragent (0.16.11)
197
- websocket-driver (0.7.6)
197
+ websocket-driver (0.7.7)
198
+ base64
198
199
  websocket-extensions (>= 0.1.0)
199
200
  websocket-extensions (0.1.5)
200
201
  zeitwerk (2.7.1)
@@ -41,10 +41,6 @@ module Camille
41
41
  raise NotImplementedError
42
42
  end
43
43
 
44
- def transform value
45
- value
46
- end
47
-
48
44
  def self.| other
49
45
  Camille::Type.instance(self) | other
50
46
  end
@@ -4,7 +4,6 @@ module Camille
4
4
  module CodeGenerator
5
5
  def self.generate_ts
6
6
  io = StringIO.new
7
- io.puts "// This file is automatically generated."
8
7
  io.puts Camille::Configuration.ts_header
9
8
  io.puts
10
9
  Camille::Types.literal_lines.each do |line|
@@ -1,6 +1,7 @@
1
1
  Camille.configure do |config|
2
2
  # Contents to be placed at the beginning of the output TypeScript file.
3
3
  config.ts_header = <<~EOF
4
+ // DO NOT EDIT! This file is automatically generated.
4
5
  import request from './request'
5
6
  EOF
6
7
  end
@@ -9,4 +9,9 @@ class Camille::Types::DateTime < Camille::Type
9
9
  def transform value
10
10
  value.as_json
11
11
  end
12
+
13
+ def check value
14
+ normalized = transform value
15
+ super normalized
16
+ end
12
17
  end
@@ -13,4 +13,9 @@ class Camille::Types::Decimal < Camille::Type
13
13
  value
14
14
  end
15
15
  end
16
+
17
+ def check value
18
+ normalized = transform value
19
+ super normalized
20
+ end
16
21
  end
@@ -33,7 +33,11 @@ module Camille
33
33
  loader.setup
34
34
  @zeitwerk_loader = loader
35
35
  @configuration_location = "#{app.root}/config/camille/configuration.rb"
36
+ end
37
+ end
36
38
 
39
+ def initial_load
40
+ synchronize do
37
41
  eager_load
38
42
  construct_controller_name_to_schema_map
39
43
  end
@@ -17,6 +17,9 @@ module Camille
17
17
  Camille::Loader.register_routes(self)
18
18
  end
19
19
 
20
+ end
21
+
22
+ config.after_initialize do |app|
20
23
  dir = "#{Rails.root}/config/camille"
21
24
 
22
25
  update_checker = ActiveSupport::FileUpdateChecker.new([], {dir => ['rb']}) do
@@ -27,9 +30,10 @@ module Camille
27
30
 
28
31
  app.reloader.to_run do
29
32
  require_unload_lock!
30
- update_checker.execute_if_updated
33
+ update_checker.execute
31
34
  end
32
35
 
36
+ Camille::Loader.initial_load
33
37
  end
34
38
 
35
39
  end
data/lib/camille/type.rb CHANGED
@@ -20,8 +20,7 @@ module Camille
20
20
  end
21
21
 
22
22
  def check value
23
- normalized = transform value
24
- @underlying.check normalized
23
+ @underlying.check value
25
24
  end
26
25
 
27
26
  def test value
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Camille
4
- VERSION = "0.6.2"
4
+ VERSION = "0.6.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camille
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - merely
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-01 00:00:00.000000000 Z
11
+ date: 2025-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails