querylicious 0.3.2 → 0.4.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: bb0604418d4ceb97ecbd6c97c2d5d9efd074648e736af219c04df3d62f4be27e
4
- data.tar.gz: 956827085051782969c6c2ff99b357d4f0f1fca54c49278be68ab764a79f1b93
3
+ metadata.gz: cc4521bb682077a42673c7cc6d6bb615eb7dbb0cc4c43e5fbce5f71c08e3b6e0
4
+ data.tar.gz: c7c34cd057c92a4eef6076acdb77ed92d68e84ecf23eaac1c4d53193806fb40e
5
5
  SHA512:
6
- metadata.gz: '09eb9973b67758a94c829b5f086914478fc5a7e232bf584a503fc94f0976231a6c3c3f8f8c4437e1e1e01df41e915e229fda49d6a7bb3910112ef06877b7742e'
7
- data.tar.gz: 41991c97c9576293f9eddd44fa5a394c7355a7ef29507b79e0f605eef1fb50065e7e8386068214ee78323a1edda671dd7e83a3f72aeb798f07c9b1d6c3f62cd2
6
+ metadata.gz: 3d0218dc69354544ff8248679b02ee0b70c9af280fc3950c338a323c489eff5aab611e9cd05170e97fc0ee91a14971b14e719c416d00e0b2473518d134ece997
7
+ data.tar.gz: b3306ef3af5649b0b40f3ac8ae99d8196a5de3d9fa133fbd9e3a7c2b130531a4e934e2cc20891e002a98da52c4616850bf7a3c88834bdc18829e165e21b37f80
data/CHANGELOG.md CHANGED
@@ -7,19 +7,26 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.0] - 2018-05-07
11
+
12
+ ### Changed
13
+
14
+ - Updated minimum required versions for `dry-types` to `0.13.0` and `dry-struct`
15
+ to `0.5.0`
16
+
10
17
  ## [0.3.2] - 2018-04-13
11
18
 
12
- ## Changed
19
+ ### Changed
13
20
 
14
21
  - Moved repository to [huyderman/querylicious][github-repo] and added branding
15
22
 
16
- ## Fixed
23
+ ### Fixed
17
24
 
18
25
  - Ensure `QueryReducer#to_proc` returns a proper proc
19
26
 
20
27
  ## [0.3.1] - 2018-02-19
21
28
 
22
- ## Changed
29
+ ### Changed
23
30
 
24
31
  - Update allowed versions of `dry-matcher` gem
25
32
 
@@ -55,7 +62,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
55
62
 
56
63
  [github-repo]: https://github.com/huyderman/querylicious
57
64
 
58
- [Unreleased]: https://github.com/huyderman/querylicious/compare/v0.3.2...HEAD
65
+ [Unreleased]: https://github.com/huyderman/querylicious/compare/v0.4.0...HEAD
66
+ [0.4.0]: https://github.com/huyderman/querylicious/compare/v0.3.2...v0.4.0
59
67
  [0.3.2]: https://github.com/huyderman/querylicious/compare/v0.3.1...v0.3.2
60
68
  [0.3.1]: https://github.com/huyderman/querylicious/compare/v0.3.0...v0.3.1
61
69
  [0.3.0]: https://github.com/huyderman/querylicious/compare/v0.2.0...v0.3.0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.2
1
+ 0.4.0
@@ -6,8 +6,6 @@ require 'querylicious/types'
6
6
  module Querylicious
7
7
  # A search-query key-value, with optional operator
8
8
  class KeyValuePair < Dry::Struct::Value
9
- constructor_type :strict_with_defaults
10
-
11
9
  Operators = Types::Strict::Symbol.enum(
12
10
  :eql, :not_eql, :gt, :gteq, :lt, :lteq
13
11
  )
@@ -15,7 +13,7 @@ module Querylicious
15
13
  attribute :key, Types::Strict::String
16
14
  attribute :value,
17
15
  Types::Strict::String |
18
- Types::Strict::Int |
16
+ Types::Strict::Integer |
19
17
  Types::Strict::Date |
20
18
  Types::Strict::DateTime |
21
19
  Types::Strict::Range |
@@ -10,12 +10,12 @@ module Querylicious
10
10
  class Transform < Parslet::Transform
11
11
  rule('') { nil }
12
12
  rule(string: simple(:it)) { Types::Coercible::String[it].gsub('\"', '"') }
13
- rule(integer: simple(:it)) { Types::Form::Int[it] }
14
- rule(date: simple(:it)) { Types::Form::Date[it] }
15
- rule(datetime: simple(:it)) { Types::Form::DateTime[it] }
13
+ rule(integer: simple(:it)) { Types::Params::Integer[it] }
14
+ rule(date: simple(:it)) { Types::Params::Date[it] }
15
+ rule(datetime: simple(:it)) { Types::Params::DateTime[it] }
16
16
 
17
17
  rule(symbol: simple(:it)) do
18
- symbol = Types::Form::Symbol[it.to_s.downcase]
18
+ symbol = Types::Coercible::Symbol[it.to_s.downcase]
19
19
 
20
20
  # Symbol normalization
21
21
  case symbol
@@ -29,7 +29,7 @@ module Querylicious
29
29
  end
30
30
  end
31
31
 
32
- rule(list: sequence(:it)) { Types::Form::Array[it] }
32
+ rule(list: sequence(:it)) { Types::Params::Array[it] }
33
33
 
34
34
  rule(range: { start: simple(:first), end: simple(:last) }) do
35
35
  if first == :* && last == :*
@@ -75,13 +75,13 @@ module Querylicious
75
75
  { object: Types::Coercible::String[it], op: op }
76
76
  end
77
77
  rule(op: simple(:op), integer: simple(:it)) do
78
- { object: Types::Form::Int[it], op: op }
78
+ { object: Types::Params::Integer[it], op: op }
79
79
  end
80
80
  rule(op: simple(:op), date: simple(:it)) do
81
- { object: Types::Form::Date[it], op: op }
81
+ { object: Types::Params::Date[it], op: op }
82
82
  end
83
83
  rule(op: simple(:op), datetime: simple(:it)) do
84
- { object: Types::Form::DateTime[it], op: op }
84
+ { object: Types::Params::DateTime[it], op: op }
85
85
  end
86
86
  rule(pair: {
87
87
  key: simple(:key),
@@ -7,9 +7,6 @@ module Querylicious
7
7
  module Types
8
8
  include Dry::Types.module
9
9
 
10
- Range = Dry::Types::Definition[::Range].new(::Range)
11
- Strict::Range = Range.constrained(type: ::Range)
12
-
13
- Form::Symbol = Symbol.constructor(&:to_sym)
10
+ Coercible::Symbol = Symbol.constructor { |sym| String(sym).to_sym }
14
11
  end
15
12
  end
data/querylicious.gemspec CHANGED
@@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_runtime_dependency 'dry-initializer', '~> 2.3'
24
24
  spec.add_runtime_dependency 'dry-matcher', '>= 0.6.0', '< 0.8'
25
- spec.add_runtime_dependency 'dry-struct', '~> 0.4.0'
26
- spec.add_runtime_dependency 'dry-types', '~> 0.12.0'
25
+ spec.add_runtime_dependency 'dry-struct', '~> 0.5.0'
26
+ spec.add_runtime_dependency 'dry-types', '~> 0.13.0'
27
27
  spec.add_runtime_dependency 'parslet', '~> 1.8'
28
28
 
29
29
  spec.add_development_dependency 'bundler', '~> 1.15'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: querylicious
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jo-Herman Haugholt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-13 00:00:00.000000000 Z
11
+ date: 2018-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-initializer
@@ -50,28 +50,28 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 0.4.0
53
+ version: 0.5.0
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.4.0
60
+ version: 0.5.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: dry-types
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 0.12.0
67
+ version: 0.13.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 0.12.0
74
+ version: 0.13.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: parslet
77
77
  requirement: !ruby/object:Gem::Requirement