queryfy 0.1.0 → 0.2.0

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
  SHA1:
3
- metadata.gz: c768903e4796eae77d516db581ddd7e81082cf5c
4
- data.tar.gz: f39cedbe011e43574d9fe1c576c18da29406fd23
3
+ metadata.gz: 1621b2220459fea7e19fa27f275fe16b98bd9f19
4
+ data.tar.gz: 352af1d4a2943ca33225cab60eeb693181c98e28
5
5
  SHA512:
6
- metadata.gz: 1f9a43dcb7b136941069f71f850633b964c2dad17f98b52dd5eedae4979a2bd8165abfceb4ce1e2783f03981ab6a8de4535fb39cf750bcc737b983a390fb4cbf
7
- data.tar.gz: d0ecbe8bc5f0d6602d2b9df2fb6c22acfcfb0d390664cf927ae980122268c9288a58ecf166e0da16b01ee269f4543e470811d5af5381bb5bff843c868367b794
6
+ metadata.gz: 07f183a177ec38c678e539e6ef9dc8f7775c44eb5eb18bdc2ba0ca8bbdae6d1323cedf6787d5b520b67d45e46b8ed6bebb51293cb68b52373b07e0c1ad8e1237
7
+ data.tar.gz: ff5b817d584fe4014783c17334aaba2772799f81f3352301b3f2856d3e10b63570853c2cbec31a5a0297c83a53e65200d0bd71c26170788fb00a29298ed0a7dd
data/.travis.yml CHANGED
@@ -2,3 +2,6 @@ language: ruby
2
2
  rvm:
3
3
  - 2.2.3
4
4
  before_install: gem install bundler -v 1.10.6
5
+ script:
6
+ - bundle install
7
+ - bundle exec rake test
data/Gemfile CHANGED
@@ -6,10 +6,12 @@ gem 'sqlite3'
6
6
  rails = ENV['RAILS'] || '~> 4.2.0'
7
7
  gem 'rails', rails
8
8
 
9
- gem 'pry'
10
- gem 'pry-doc'
11
- gem 'pry-nav'
12
- gem 'pry-rescue'
13
- gem 'pry-stack_explorer'
9
+ group :development do
10
+ gem 'pry'
11
+ gem 'pry-doc'
12
+ gem 'pry-nav'
13
+ gem 'pry-rescue'
14
+ gem 'pry-stack_explorer'
15
+ end
14
16
 
15
17
  gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Queryfy
1
+ # Queryfy [![Build Status](https://travis-ci.org/Bonemind/Queryfy.svg?branch=master)](https://travis-ci.org/Bonemind/Queryfy) [![Dependency Status](https://gemnasium.com/Bonemind/Queryfy.svg)](https://gemnasium.com/Bonemind/Queryfy)
2
2
 
3
3
  Queryfy is a gem that allows you to simply and easily paginate and filter activerecord models using queryparams.
4
4
  The gem assumes you pass it a hash of queryparams which contain a filterstring in `filter`, and optionally `offset` and `limit` fields.
@@ -29,15 +29,27 @@ Or install it yourself as:
29
29
  ## Usage
30
30
 
31
31
  ### General
32
+
33
+ Register queryfy method everywhere
32
34
  ```
33
- require 'queryfy'
35
+ require 'queryfy/core_ext'
34
36
 
35
37
  class SomeModel
36
- include Queryfy
37
38
  end
38
39
 
39
40
  SomeModel.queryfy(queryparams)
40
41
  ```
42
+ Register queryfy only on specified model
43
+ ```
44
+ require 'queryfy/acts_as_queryfy'
45
+
46
+ class SomeModel
47
+ acts_as_queryfy
48
+ end
49
+
50
+ SomeModel.queryfy(queryparams)
51
+ ```
52
+
41
53
 
42
54
  The gem adds makes a `queryfy` method available to ActiveRecord::Base when included.
43
55
  The queryfy method takes a hash in the following format:
@@ -0,0 +1,9 @@
1
+ require 'queryfy/queryfy_ext'
2
+ class ActiveRecord::Base
3
+ def self.acts_as_queryfy
4
+ puts 'acts_as_queryfy'
5
+ def self.queryfy(queryparams)
6
+ Queryfy.from_queryparams(self, queryparams)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ require 'queryfy/queryfy_ext'
2
+
3
+ ActiveRecord::Base.extend QueryfyExt
@@ -0,0 +1,5 @@
1
+ module QueryfyExt
2
+ def queryfy(queryparams)
3
+ Queryfy.from_queryparams(self, queryparams)
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module Queryfy
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/queryfy.rb CHANGED
@@ -98,10 +98,8 @@ module Queryfy
98
98
  end
99
99
  return ast
100
100
  end
101
- end
102
101
 
103
- class ActiveRecord::Base
104
- def self.queryfy(queryparams)
102
+ def self.from_queryparams(klass, queryparams)
105
103
  filter = ''
106
104
  offset = 0
107
105
  limit = Queryfy::default_limit
@@ -112,6 +110,6 @@ class ActiveRecord::Base
112
110
  elsif(queryparams.is_a?(String))
113
111
  filter = queryparams
114
112
  end
115
- return Queryfy.build_query(self, filter, limit, offset)
113
+ return Queryfy.build_query(klass, filter, limit, offset)
116
114
  end
117
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queryfy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bonemind
@@ -76,9 +76,12 @@ files:
76
76
  - bin/console
77
77
  - bin/setup
78
78
  - lib/queryfy.rb
79
+ - lib/queryfy/acts_as_queryfy.rb
79
80
  - lib/queryfy/configuration.rb
81
+ - lib/queryfy/core_ext.rb
80
82
  - lib/queryfy/filter_lexer/formatter.rb
81
83
  - lib/queryfy/queryfy_errors.rb
84
+ - lib/queryfy/queryfy_ext.rb
82
85
  - lib/queryfy/version.rb
83
86
  - queryfy.gemspec
84
87
  homepage: https://github.com/Bonemind/Queryfy