querylicious 0.3.1 → 0.3.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: 21d7d82f6da9eb9541a9901b483ad8b5c193e4805ec6607ef55b26dd571a917b
4
- data.tar.gz: 51b2b9f44728fca929305e0faea38be54f26928756d8619188a2e8b8906458a9
3
+ metadata.gz: bb0604418d4ceb97ecbd6c97c2d5d9efd074648e736af219c04df3d62f4be27e
4
+ data.tar.gz: 956827085051782969c6c2ff99b357d4f0f1fca54c49278be68ab764a79f1b93
5
5
  SHA512:
6
- metadata.gz: f46cab1028daefa95fae51fb2a7333a112a5f3a0fb693ce09c2b84e0565239a0ee33f904838606b1a9a5b9042f18b5d179c5e8cd472b3c2f2e1f4ff486dcf0d9
7
- data.tar.gz: e9f815b729a9fb3385ea2a5b9db9e1f4ae3c42c49ea949189d519c107e1ec0acea6c46884a90f99ee93f45eaa165c00f36ae4bfb4e4b4098dcbd058799de3a10
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
@@ -5,6 +5,9 @@ AllCops:
5
5
  Style/Alias:
6
6
  # Prefer `alias_method :foo, :bar` over `alias foo bar`
7
7
  EnforcedStyle: prefer_alias_method
8
+ Style/DateTime:
9
+ Enabled: false
8
10
  Metrics/BlockLength:
9
11
  Exclude:
12
+ - querylicious.gemspec
10
13
  - spec/**/*_spec.rb
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
- [Unreleased]: https://github.com/Sonans/querylicious/compare/v0.3.1...HEAD
36
- [0.3.1]: https://github.com/Sonans/querylicious/compare/v0.3.0...v0.3.1
37
- [0.3.0]: https://github.com/Sonans/querylicious/compare/v0.2.0...v0.3.0
38
- [0.2.0]: https://github.com/Sonans/querylicious/compare/v0.1.0...v0.2.0
39
- [0.1.0]: https://github.com/Sonans/querylicious/compare/v0.0.0...v0.1.0
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 jo-herman@sonans.no. All
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
+ # ![Querylicious](https://res.cloudinary.com/huyderman/image/upload/c_scale,dpr_2,f_auto,fl_preserve_transparency,q_auto,w_888/v1522834080/querylicious)
2
2
 
3
- Querylicious is an opinionated search query parser.
3
+ [![Gem Version](https://badge.fury.io/rb/querylicious.svg)](https://badge.fury.io/rb/querylicious)
4
+ [![Build Status](https://travis-ci.org/huyderman/querylicious.svg?branch=master)](https://travis-ci.org/huyderman/querylicious)
5
+ [![Maintainability](https://api.codeclimate.com/v1/badges/6eeb81253ec37a703d9f/maintainability)](https://codeclimate.com/github/huyderman/querylicious/maintainability)
6
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/6eeb81253ec37a703d9f/test_coverage)](https://codeclimate.com/github/huyderman/querylicious/test_coverage)
7
+ [![Join the chat at https://gitter.im/querylicious/Lobby](https://badges.gitter.im/querylicious/Lobby.svg)](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
- $ bundle
22
+ bundle
16
23
 
17
- Or install it yourself as:
24
+ Or install it yourself with:
18
25
 
19
- $ gem install querylicious
26
+ gem install querylicious
20
27
 
21
28
  ## Usage
22
29
 
23
- TODO: Write usage instructions here
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, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
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`. To release a new version, update the version number in the `VERSION` file, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
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 https://github.com/Sonans/querylicious. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
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 [MIT License](http://opensource.org/licenses/MIT).
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 trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/querylicious/blob/master/CODE_OF_CONDUCT.md).
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
1
+ 0.3.2
@@ -11,7 +11,8 @@ module Querylicious
11
11
 
12
12
  rule(:phrase) do
13
13
  (
14
- (str('NOT').as(:symbol).as(:op) >> space).maybe >> (word | quoted_string)
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 | (kv_op.as(:op).maybe >> (datetime | integer | simple_string | quoted_string))
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('\"') | match('[[^"]&&[:print:]]')).repeat(0).as(:string) >> 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
- method(:call)
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.strip)))
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( list: sequence(:it)) { Types::Form::Array[it] }
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(pair: { key: simple(:key), value: sequence(:value), op: simple(:op) }) do
71
- KeyValuePair.new(key: key, value: value, op: op)
72
- end
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 = ['jo-herman@sonans.no']
10
+ spec.email = ['johannes@huyderman.com']
11
11
 
12
12
  spec.summary = 'An opinionated search query parser'
13
- spec.homepage = 'https://github.com/Sonans/querylicious'
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 'pry', '~> 0.11.0'
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.0'
36
- spec.add_development_dependency 'simplecov', '~> 0.15.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.1
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-02-19 00:00:00.000000000 Z
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.0
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.0
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.0
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.0
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.15.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.15.0
228
+ version: '0.16'
201
229
  description:
202
230
  email:
203
- - jo-herman@sonans.no
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/Sonans/querylicious
259
+ homepage: https://github.com/huyderman/querylicious
229
260
  licenses:
230
261
  - MIT
231
262
  metadata: {}