querylicious 0.3.1 → 0.3.2
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 +4 -4
- data/.editorconfig +17 -0
- data/.mdlrc +1 -0
- data/.rubocop.yml +3 -0
- data/.travis.yml +21 -0
- data/CHANGELOG.md +29 -5
- data/CODE_OF_CONDUCT.md +1 -1
- data/README.md +131 -11
- data/VERSION +1 -1
- data/lib/querylicious/parser.rb +8 -3
- data/lib/querylicious/query_reducer.rb +3 -3
- data/lib/querylicious/transform.rb +4 -4
- data/querylicious.gemspec +7 -5
- metadata +41 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb0604418d4ceb97ecbd6c97c2d5d9efd074648e736af219c04df3d62f4be27e
|
4
|
+
data.tar.gz: 956827085051782969c6c2ff99b357d4f0f1fca54c49278be68ab764a79f1b93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '09eb9973b67758a94c829b5f086914478fc5a7e232bf584a503fc94f0976231a6c3c3f8f8c4437e1e1e01df41e915e229fda49d6a7bb3910112ef06877b7742e'
|
7
|
+
data.tar.gz: 41991c97c9576293f9eddd44fa5a394c7355a7ef29507b79e0f605eef1fb50065e7e8386068214ee78323a1edda671dd7e83a3f72aeb798f07c9b1d6c3f62cd2
|
data/.editorconfig
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# EditorConfig is awesome: http://EditorConfig.org
|
2
|
+
|
3
|
+
# top-most EditorConfig file
|
4
|
+
root = true
|
5
|
+
|
6
|
+
# Unix-style newlines with a newline ending every file
|
7
|
+
[*]
|
8
|
+
charset = utf-8
|
9
|
+
end_of_line = lf
|
10
|
+
indent_size = 2
|
11
|
+
indent_style = space
|
12
|
+
insert_final_newline = true
|
13
|
+
trim_trailing_whitespace = true
|
14
|
+
|
15
|
+
# Markdown uses trailing whitespace for linebreaks.
|
16
|
+
[*.md]
|
17
|
+
trim_trailing_whitespace = false
|
data/.mdlrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rules "~MD024"
|
data/.rubocop.yml
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
sudo: false
|
2
|
+
language: ruby
|
3
|
+
rvm:
|
4
|
+
- 2.3
|
5
|
+
- 2.4
|
6
|
+
- 2.5
|
7
|
+
before_script:
|
8
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
9
|
+
- chmod +x ./cc-test-reporter
|
10
|
+
- ./cc-test-reporter before-build
|
11
|
+
script:
|
12
|
+
- bundle exec rspec
|
13
|
+
after_script:
|
14
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
15
|
+
notifications:
|
16
|
+
webhooks:
|
17
|
+
urls:
|
18
|
+
- https://webhooks.gitter.im/e/926fc6501337bfca8303
|
19
|
+
on_success: change # options: [always|never|change] default: always
|
20
|
+
on_failure: always # options: [always|never|change] default: always
|
21
|
+
on_start: never # options: [always|never|change] default: always
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# Changelog
|
2
|
+
|
2
3
|
All notable changes to this project will be documented in this file.
|
3
4
|
|
4
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
@@ -6,34 +7,57 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
6
7
|
|
7
8
|
## [Unreleased]
|
8
9
|
|
10
|
+
## [0.3.2] - 2018-04-13
|
11
|
+
|
12
|
+
## Changed
|
13
|
+
|
14
|
+
- Moved repository to [huyderman/querylicious][github-repo] and added branding
|
15
|
+
|
16
|
+
## Fixed
|
17
|
+
|
18
|
+
- Ensure `QueryReducer#to_proc` returns a proper proc
|
19
|
+
|
9
20
|
## [0.3.1] - 2018-02-19
|
10
21
|
|
11
22
|
## Changed
|
23
|
+
|
12
24
|
- Update allowed versions of `dry-matcher` gem
|
13
25
|
|
14
26
|
## [0.3.0] - 2017-11-28
|
27
|
+
|
15
28
|
### Added
|
29
|
+
|
16
30
|
- Add `not_key` reducer alias
|
17
31
|
|
18
32
|
### Changed
|
33
|
+
|
19
34
|
- Updated required dependency versions
|
20
35
|
|
21
36
|
## [0.2.0] - 2017-08-15
|
37
|
+
|
22
38
|
### Added
|
39
|
+
|
23
40
|
- Add support for lists (arrays)
|
24
41
|
|
25
42
|
### Changed
|
43
|
+
|
26
44
|
- Change `type` in the reducer matchers from classes to dry-types
|
27
45
|
|
28
46
|
### Fixed
|
47
|
+
|
29
48
|
- Support empty queries
|
30
49
|
|
31
50
|
## [0.1.0] - 2017-08-14
|
51
|
+
|
32
52
|
### Added
|
53
|
+
|
33
54
|
- Initial implementation of querylicious, with query-parser and query-reducer
|
34
55
|
|
35
|
-
[
|
36
|
-
|
37
|
-
[
|
38
|
-
[0.2
|
39
|
-
[0.1
|
56
|
+
[github-repo]: https://github.com/huyderman/querylicious
|
57
|
+
|
58
|
+
[Unreleased]: https://github.com/huyderman/querylicious/compare/v0.3.2...HEAD
|
59
|
+
[0.3.2]: https://github.com/huyderman/querylicious/compare/v0.3.1...v0.3.2
|
60
|
+
[0.3.1]: https://github.com/huyderman/querylicious/compare/v0.3.0...v0.3.1
|
61
|
+
[0.3.0]: https://github.com/huyderman/querylicious/compare/v0.2.0...v0.3.0
|
62
|
+
[0.2.0]: https://github.com/huyderman/querylicious/compare/v0.1.0...v0.2.0
|
63
|
+
[0.1.0]: https://github.com/huyderman/querylicious/compare/v0.0.0...v0.1.0
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
|
|
55
55
|
## Enforcement
|
56
56
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
-
reported by contacting the project team at
|
58
|
+
reported by contacting the project team at johannes@huyderman.com. All
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
data/README.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
-
# Querylicious
|
1
|
+
# 
|
2
2
|
|
3
|
-
|
3
|
+
[](https://badge.fury.io/rb/querylicious)
|
4
|
+
[](https://travis-ci.org/huyderman/querylicious)
|
5
|
+
[](https://codeclimate.com/github/huyderman/querylicious/maintainability)
|
6
|
+
[](https://codeclimate.com/github/huyderman/querylicious/test_coverage)
|
7
|
+
[](https://gitter.im/querylicious/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
8
|
+
|
9
|
+
> Querylicious is an opinionated and repository agnostic search query parser
|
10
|
+
> and reducer.
|
4
11
|
|
5
12
|
## Installation
|
6
13
|
|
@@ -12,30 +19,143 @@ gem 'querylicious'
|
|
12
19
|
|
13
20
|
And then execute:
|
14
21
|
|
15
|
-
|
22
|
+
bundle
|
16
23
|
|
17
|
-
Or install it yourself
|
24
|
+
Or install it yourself with:
|
18
25
|
|
19
|
-
|
26
|
+
gem install querylicious
|
20
27
|
|
21
28
|
## Usage
|
22
29
|
|
23
|
-
|
30
|
+
Querylicious parses [GitHub-style search queries][github-search-syntax], and
|
31
|
+
let's you specify an reducer to generate the result. The reducer is a
|
32
|
+
callable object such as an proc. Here is an simple example where the
|
33
|
+
repository is an array of strings:
|
34
|
+
|
35
|
+
```rb
|
36
|
+
repository = %w[Garnet Amethyst Pearl Steven]
|
37
|
+
|
38
|
+
reducer = lambda do |array, m|
|
39
|
+
m.phrase do |phrase|
|
40
|
+
array.select { |item| item.upcase.include?(phrase.upcase) }
|
41
|
+
end
|
42
|
+
|
43
|
+
m.not_phrase do |phrase|
|
44
|
+
array.reject { |item| item.upcase.include?(phrase.upcase) }
|
45
|
+
end
|
46
|
+
|
47
|
+
m.default { arr }
|
48
|
+
end
|
49
|
+
|
50
|
+
query_reducer = Querylicious::QueryReducer.new(reducer)
|
51
|
+
|
52
|
+
query_reducer.call(repository, 'am') #=> ["Amethyst"]
|
53
|
+
query_reducer.call(repository, 'NOT Steven') #=> ["Garnet", "Amethyst", "Pearl"]
|
54
|
+
```
|
55
|
+
|
56
|
+
`phrase` is the basic search type intended for free text search or similar.
|
57
|
+
But querylicious also supports defining property search with many possible
|
58
|
+
modifiers.
|
59
|
+
|
60
|
+
```rb
|
61
|
+
# The query "stars:n" searches for when `stars` is the value n
|
62
|
+
m.key 'stars' do |array, stars|
|
63
|
+
# ...
|
64
|
+
end
|
65
|
+
|
66
|
+
# You can use `dry-types` type-definitions if you wish to handle different
|
67
|
+
# types differently. The parser can return the following types:
|
68
|
+
# `[String, Integer, Date, DateTime, Range]`
|
69
|
+
|
70
|
+
# The query "stars:1" searches for when `stars` is an integer `1`
|
71
|
+
m.key 'stars', type: Querylicious::Types::Integer do |array, stars|
|
72
|
+
# ...
|
73
|
+
end
|
74
|
+
|
75
|
+
# The query "stars:1..10" searches for when `stars` is a range `1..10`
|
76
|
+
m.key 'stars', type: Querylicious::Types::Range do |array, stars|
|
77
|
+
# ...
|
78
|
+
end
|
79
|
+
|
80
|
+
# Properties also support operators different from the default equals;
|
81
|
+
# possilble operators are: `%i[eql not_eql gt gteq lt lteq]`
|
82
|
+
|
83
|
+
# The query "stars:>1" searches for when `stars` is greater than `1`
|
84
|
+
m.key 'stars', op: :gt do |array, stars|
|
85
|
+
# ...
|
86
|
+
end
|
87
|
+
```
|
88
|
+
|
89
|
+
You can use any type of backing repository, as long as it's reducable. Here
|
90
|
+
is an example using Sequel:
|
91
|
+
|
92
|
+
```rb
|
93
|
+
class Article < Sequel::Model; end
|
94
|
+
|
95
|
+
reducer = lambda do |dataset, m|
|
96
|
+
m.phrase do |phrase|
|
97
|
+
dataset.grep(%i[name body], "%#{phrase}%", case_insensitive: true)
|
98
|
+
end
|
99
|
+
|
100
|
+
m.key :published do |published|
|
101
|
+
dataset.where(published: published)
|
102
|
+
end
|
103
|
+
|
104
|
+
m.default { dataset }
|
105
|
+
end
|
106
|
+
|
107
|
+
query_reducer = Querylicious::QueryReducer.new(reducer)
|
108
|
+
|
109
|
+
articles = query_reducer.call(Article, 'foo published:true').all
|
110
|
+
```
|
111
|
+
|
112
|
+
You can curry the call to the query reducer to avoid passing the repository
|
113
|
+
each time:
|
114
|
+
|
115
|
+
```rb
|
116
|
+
|
117
|
+
article_search = query_reducer.curry.call(Article)
|
118
|
+
|
119
|
+
articles = article_search.call('foo published:true').all
|
120
|
+
```
|
24
121
|
|
25
122
|
## Development
|
26
123
|
|
27
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then,
|
124
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then,
|
125
|
+
run `rake spec` to run the tests. You can also run `bin/console` for an
|
126
|
+
interactive prompt that will allow you to experiment.
|
28
127
|
|
29
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
128
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
129
|
+
To release a new version, update the version number in the `VERSION` file,
|
130
|
+
and then run `bundle exec rake release`, which will create a git tag for the
|
131
|
+
version, push git commits and tags, and push the `.gem` file to
|
132
|
+
[rubygems.org](https://rubygems.org).
|
30
133
|
|
31
134
|
## Contributing
|
32
135
|
|
33
|
-
Bug reports and pull requests are welcome on GitHub at
|
136
|
+
Bug reports and pull requests are welcome on GitHub at
|
137
|
+
[huyderman/querylicious](https://github.com/huyderman/querylicious). This
|
138
|
+
project is intended to be a safe, welcoming space for collaboration, and
|
139
|
+
contributors are expected to adhere to the
|
140
|
+
[code of conduct][code-of-conduct].
|
34
141
|
|
35
142
|
## License
|
36
143
|
|
37
|
-
The gem is available as open source under the terms of the
|
144
|
+
The gem is available as open source under the terms of the
|
145
|
+
[MIT License](http://opensource.org/licenses/MIT).
|
38
146
|
|
39
147
|
## Code of Conduct
|
40
148
|
|
41
|
-
Everyone interacting in the Querylicious project’s codebases, issue
|
149
|
+
Everyone interacting in the Querylicious project’s codebases, issue
|
150
|
+
trackers, chat rooms and mailing lists is expected to follow the
|
151
|
+
[code of conduct][code-of-conduct].
|
152
|
+
|
153
|
+
## Credits
|
154
|
+
|
155
|
+
Thanks to the talented Alex Daily
|
156
|
+
([@Daily@tootplanet.space](https://tootplanet.space/@Daily) or
|
157
|
+
[@heyalexdaily@twitter.com](https://twitter.com/heyalexdaily)) for creating
|
158
|
+
the awesome logo!
|
159
|
+
|
160
|
+
[github-search-syntax]: https://help.github.com/articles/understanding-the-search-syntax/
|
161
|
+
[code-of-conduct]: https://github.com/huyderman/querylicious/blob/master/CODE_OF_CONDUCT.md
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.2
|
data/lib/querylicious/parser.rb
CHANGED
@@ -11,7 +11,8 @@ module Querylicious
|
|
11
11
|
|
12
12
|
rule(:phrase) do
|
13
13
|
(
|
14
|
-
(str('NOT').as(:symbol).as(:op) >> space)
|
14
|
+
(str('NOT').as(:symbol).as(:op) >> space)
|
15
|
+
.maybe >> (word | quoted_string)
|
15
16
|
).as(:phrase)
|
16
17
|
end
|
17
18
|
|
@@ -22,7 +23,10 @@ module Querylicious
|
|
22
23
|
|
23
24
|
rule(:key) { word }
|
24
25
|
rule(:value) do
|
25
|
-
list | range | (
|
26
|
+
list | range | (
|
27
|
+
kv_op.as(:op)
|
28
|
+
.maybe >> (datetime | integer | simple_string | quoted_string)
|
29
|
+
)
|
26
30
|
end
|
27
31
|
|
28
32
|
rule(:kv_op) { (str('>=') | str('>') | str('<=') | str('<')).as(:symbol) }
|
@@ -32,7 +36,8 @@ module Querylicious
|
|
32
36
|
match('[[:graph:]&&[^".,]]').repeat(1).as(:string)
|
33
37
|
end
|
34
38
|
rule(:quoted_string) do
|
35
|
-
str('"') >> (str('\"') |
|
39
|
+
str('"') >> (str('\"') |
|
40
|
+
match('[[^"]&&[:print:]]')).repeat(0).as(:string) >> str('"')
|
36
41
|
end
|
37
42
|
rule(:integer) { match('\d').repeat(1).as(:integer) }
|
38
43
|
|
@@ -8,7 +8,7 @@ require 'querylicious/matcher'
|
|
8
8
|
require 'dry-initializer'
|
9
9
|
|
10
10
|
module Querylicious
|
11
|
-
# Reducer
|
11
|
+
# Query Reducer for processing parsed query
|
12
12
|
class QueryReducer
|
13
13
|
extend Dry::Initializer
|
14
14
|
|
@@ -29,7 +29,7 @@ module Querylicious
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def to_proc
|
32
|
-
|
32
|
+
public_method(:call).to_proc
|
33
33
|
end
|
34
34
|
|
35
35
|
private
|
@@ -43,7 +43,7 @@ module Querylicious
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def parse_query(query)
|
46
|
-
Array(transformer.apply(parser.parse(query.to_s
|
46
|
+
Array(transformer.apply(parser.parse(query.to_s)))
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -29,7 +29,7 @@ module Querylicious
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
rule(
|
32
|
+
rule(list: sequence(:it)) { Types::Form::Array[it] }
|
33
33
|
|
34
34
|
rule(range: { start: simple(:first), end: simple(:last) }) do
|
35
35
|
if first == :* && last == :*
|
@@ -67,9 +67,9 @@ module Querylicious
|
|
67
67
|
rule(pair: { key: simple(:key), value: sequence(:value) }) do
|
68
68
|
KeyValuePair.new(key: key, value: value)
|
69
69
|
end
|
70
|
-
rule(
|
71
|
-
|
72
|
-
|
70
|
+
rule(
|
71
|
+
pair: { key: simple(:key), value: sequence(:value), op: simple(:op) }
|
72
|
+
) { KeyValuePair.new(key: key, value: value, op: op) }
|
73
73
|
|
74
74
|
rule(op: simple(:op), string: simple(:it)) do
|
75
75
|
{ object: Types::Coercible::String[it], op: op }
|
data/querylicious.gemspec
CHANGED
@@ -7,10 +7,10 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = 'querylicious'
|
8
8
|
spec.version = version.split('+').first
|
9
9
|
spec.authors = ['Jo-Herman Haugholt']
|
10
|
-
spec.email = ['
|
10
|
+
spec.email = ['johannes@huyderman.com']
|
11
11
|
|
12
12
|
spec.summary = 'An opinionated search query parser'
|
13
|
-
spec.homepage = 'https://github.com/
|
13
|
+
spec.homepage = 'https://github.com/huyderman/querylicious'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
@@ -27,11 +27,13 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_runtime_dependency 'parslet', '~> 1.8'
|
28
28
|
|
29
29
|
spec.add_development_dependency 'bundler', '~> 1.15'
|
30
|
-
spec.add_development_dependency '
|
30
|
+
spec.add_development_dependency 'mutant', '~> 0.8.0'
|
31
|
+
spec.add_development_dependency 'mutant-rspec', '~> 0.8.0'
|
32
|
+
spec.add_development_dependency 'pry', '~> 0.11'
|
31
33
|
spec.add_development_dependency 'rake', '~> 12.0'
|
32
34
|
spec.add_development_dependency 'reek', '~> 4.7'
|
33
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
34
36
|
spec.add_development_dependency 'rspec-parameterized', '~> 0.4.0'
|
35
|
-
spec.add_development_dependency 'rubocop', '~> 0.52
|
36
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
37
|
+
spec.add_development_dependency 'rubocop', '~> 0.52'
|
38
|
+
spec.add_development_dependency 'simplecov', '~> 0.16'
|
37
39
|
end
|
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.
|
4
|
+
version: 0.3.2
|
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-
|
11
|
+
date: 2018-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-initializer
|
@@ -100,20 +100,48 @@ dependencies:
|
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '1.15'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: mutant
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.8.0
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 0.8.0
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: mutant-rspec
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.8.0
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 0.8.0
|
103
131
|
- !ruby/object:Gem::Dependency
|
104
132
|
name: pry
|
105
133
|
requirement: !ruby/object:Gem::Requirement
|
106
134
|
requirements:
|
107
135
|
- - "~>"
|
108
136
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.11
|
137
|
+
version: '0.11'
|
110
138
|
type: :development
|
111
139
|
prerelease: false
|
112
140
|
version_requirements: !ruby/object:Gem::Requirement
|
113
141
|
requirements:
|
114
142
|
- - "~>"
|
115
143
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.11
|
144
|
+
version: '0.11'
|
117
145
|
- !ruby/object:Gem::Dependency
|
118
146
|
name: rake
|
119
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,38 +204,41 @@ dependencies:
|
|
176
204
|
requirements:
|
177
205
|
- - "~>"
|
178
206
|
- !ruby/object:Gem::Version
|
179
|
-
version: 0.52
|
207
|
+
version: '0.52'
|
180
208
|
type: :development
|
181
209
|
prerelease: false
|
182
210
|
version_requirements: !ruby/object:Gem::Requirement
|
183
211
|
requirements:
|
184
212
|
- - "~>"
|
185
213
|
- !ruby/object:Gem::Version
|
186
|
-
version: 0.52
|
214
|
+
version: '0.52'
|
187
215
|
- !ruby/object:Gem::Dependency
|
188
216
|
name: simplecov
|
189
217
|
requirement: !ruby/object:Gem::Requirement
|
190
218
|
requirements:
|
191
219
|
- - "~>"
|
192
220
|
- !ruby/object:Gem::Version
|
193
|
-
version: 0.
|
221
|
+
version: '0.16'
|
194
222
|
type: :development
|
195
223
|
prerelease: false
|
196
224
|
version_requirements: !ruby/object:Gem::Requirement
|
197
225
|
requirements:
|
198
226
|
- - "~>"
|
199
227
|
- !ruby/object:Gem::Version
|
200
|
-
version: 0.
|
228
|
+
version: '0.16'
|
201
229
|
description:
|
202
230
|
email:
|
203
|
-
-
|
231
|
+
- johannes@huyderman.com
|
204
232
|
executables: []
|
205
233
|
extensions: []
|
206
234
|
extra_rdoc_files: []
|
207
235
|
files:
|
236
|
+
- ".editorconfig"
|
237
|
+
- ".mdlrc"
|
208
238
|
- ".reek"
|
209
239
|
- ".rspec"
|
210
240
|
- ".rubocop.yml"
|
241
|
+
- ".travis.yml"
|
211
242
|
- CHANGELOG.md
|
212
243
|
- CODE_OF_CONDUCT.md
|
213
244
|
- Gemfile
|
@@ -225,7 +256,7 @@ files:
|
|
225
256
|
- lib/querylicious/transform.rb
|
226
257
|
- lib/querylicious/types.rb
|
227
258
|
- querylicious.gemspec
|
228
|
-
homepage: https://github.com/
|
259
|
+
homepage: https://github.com/huyderman/querylicious
|
229
260
|
licenses:
|
230
261
|
- MIT
|
231
262
|
metadata: {}
|