camille 0.5.0 → 0.5.2

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: acda60cf2aee3c70aadf0aa040f5b79832aa8fe44c8d92f8e305715a0edf7e36
4
- data.tar.gz: 9c1b5c69c2638336c8341a2f9182d097f8276b8df21506365e69846aa71596f7
3
+ metadata.gz: a5d2a7ffaa4c7361b74237e051c928076a5d67b1e05629804c7fa1ab28af76e3
4
+ data.tar.gz: 8b341b964c8a3527f5ab0b11565bb1cbf12b525413f4eec0bba2e4292551528e
5
5
  SHA512:
6
- metadata.gz: 4772765b95039fc3309e4eddd9a406cd0c1c94e9fca0c31e8dc283677ee9cc42620ba3acefbcc946818a44e1e78945eba798109e51bcf0ceccf6c858eff336a9
7
- data.tar.gz: b90680ff5e4646237c856c26bc6c54bbccb3c2c38d69a670d95c81b7232d466ab95d27ffdd362829da985e204d648b9d81b7cfb83f51e989019324321fad4c9f
6
+ metadata.gz: c2dbd934c66958f439dd803a0ca7bdc43c19089d4b5a303a644644be2e6ef021937be9b2b7c95a7e929d044b33f28fd12be9056578c5151bb9c6694f875b53c6
7
+ data.tar.gz: 5c63fe09fd9080e6995db273891dabb3ca90c417c488f58488ae32d1a5d84ad72e7804ad45fbcbfa77685195ca6e4d54f6d3bb693b10762bccfbc4686e487179
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.2
4
+
5
+ ### Added
6
+
7
+ * Symbols are now accepted in string types
8
+ * When omitted, the response type of an endpoint will now have the default `{}`
9
+
10
+ ## 0.5.1
11
+
12
+ ### Fixed
13
+
14
+ * Fixed the wrong error returned for `union.left`
15
+
3
16
  ## 0.5.0
4
17
 
5
18
  ### Changed
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- camille (0.4.3)
4
+ camille (0.5.1)
5
5
  rails (>= 6.1, < 8)
6
6
 
7
7
  GEM
@@ -103,7 +103,7 @@ GEM
103
103
  timeout
104
104
  net-smtp (0.3.3)
105
105
  net-protocol
106
- nio4r (2.5.8)
106
+ nio4r (2.5.9)
107
107
  nokogiri (1.14.2-x86_64-linux)
108
108
  racc (~> 1.4)
109
109
  racc (1.6.2)
data/README.md CHANGED
@@ -29,6 +29,10 @@ Therefore, if the front-end requests the API by calling `data`, we have guarante
29
29
 
30
30
  By using these request functions, we also don't need to know about HTTP verbs and paths. It's impossible to have unrecognized routes, since Camille will make sure that each function handled by the correct Rails action.
31
31
 
32
+ ## Tutorial
33
+
34
+ There's a step by step tutorial for setting up and showcasing Camille: https://github.com/onyxblade/camille-tutorial.
35
+
32
36
  ## Installation
33
37
 
34
38
  Add this line to your application's Gemfile:
@@ -12,9 +12,7 @@ module Camille
12
12
  end
13
13
 
14
14
  def signature
15
- unless @response_type
16
- raise UnknownResponseError.new("Endpoint lacking a `response` definition.")
17
- end
15
+ @response_type ||= Camille::Types::Object.new({})
18
16
  if @params_type
19
17
  "#{ActiveSupport::Inflector.camelize @name, false}(params: #{@params_type.literal}): Promise<#{@response_type.literal}>"
20
18
  else
@@ -2,7 +2,7 @@ module Camille
2
2
  module Types
3
3
  class String < Camille::BasicType
4
4
  def check value
5
- unless value.is_a? ::String
5
+ unless value.is_a?(::String) || value.is_a?(Symbol)
6
6
  Camille::TypeError.new("Expected string, got #{value.inspect}.")
7
7
  end
8
8
  end
@@ -14,7 +14,7 @@ module Camille
14
14
  right_error, right_transformed = @right.transform_and_check value
15
15
  if right_error
16
16
  error = Camille::TypeError.new(
17
- 'union.left' => right_error,
17
+ 'union.left' => left_error,
18
18
  'union.right' => right_error
19
19
  )
20
20
  [error, nil]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Camille
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.2"
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.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - 辻彩
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-19 00:00:00.000000000 Z
11
+ date: 2023-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  requirements: []
113
- rubygems_version: 3.4.1
113
+ rubygems_version: 3.2.33
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: Typed API schema for Rails with TypeScript codegen