queryfy 0.1.0 → 0.2.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
  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