easy_filters 0.0.1 → 0.0.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/README.md +43 -3
- data/easy_filters.gemspec +2 -2
- data/lib/easy_filters/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1157caafe4fbbbadc2f21ac3dd9c1e8fc76eed32
|
4
|
+
data.tar.gz: 7f3bcf4651888dfbc41a7c7b536b066223a49653
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb0b250b1e6d1a0d67f417858eda52d1171126341b93f45107b7653f304a9abefb914fff2368bd41b0e321c9e04ceccd89dcc35f5db9cd518938d8d7e884efa2
|
7
|
+
data.tar.gz: 774e231c3e2cc6e7d568a20bf8510ce8f03ab0d8c729218a8fb66c56b0e915f89ed7d5b8726be7f138ab739a211d58229cf7372997bbdb220f1a72bbf20979ed
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# EasyFilters
|
2
2
|
|
3
3
|
This gem provides a simple API for defining dynamic persistent(in session) filters based on active record models.
|
4
|
-
This was extracted from el_dia_backend
|
5
4
|
|
6
5
|
## Installation
|
7
6
|
|
@@ -25,7 +24,7 @@ And then execute:
|
|
25
24
|
EasyFilters expects you to define the following methods:
|
26
25
|
|
27
26
|
```ruby
|
28
|
-
class ArticlesFilter < ModelFilter
|
27
|
+
class ArticlesFilter < EasyFilters::ModelFilter
|
29
28
|
|
30
29
|
# Default values for this filter.
|
31
30
|
def self.defaults
|
@@ -79,4 +78,45 @@ class ArticlesFilter < ModelFilter
|
|
79
78
|
end
|
80
79
|
end
|
81
80
|
|
82
|
-
```
|
81
|
+
```
|
82
|
+
### Usage in controllers
|
83
|
+
|
84
|
+
You can instance a filter in your controller, and define some
|
85
|
+
usefull methods
|
86
|
+
|
87
|
+
For example:
|
88
|
+
```ruby
|
89
|
+
def create_filter(filter_class, opts = {})
|
90
|
+
options = { store: session, persist: true }.merge opts
|
91
|
+
filter_class.new options
|
92
|
+
end
|
93
|
+
|
94
|
+
def filter_params
|
95
|
+
if params.has_key?(:filter)
|
96
|
+
params.require(:filter).permit(:firstname, :lastname, :cuit).to_options
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
# Create the @filter object with the currently-set values for the filters
|
101
|
+
def filter
|
102
|
+
@filter = create_filter PaymentsFilter, values: filter_params
|
103
|
+
end
|
104
|
+
|
105
|
+
# Clear the currently-set filters, restoring them to the defaults
|
106
|
+
def clear_filter
|
107
|
+
if params[:commit] == t('common.filters.clear')
|
108
|
+
@filter.clear!
|
109
|
+
redirect_to request.path
|
110
|
+
end
|
111
|
+
end
|
112
|
+
```
|
113
|
+
### Usage in views
|
114
|
+
|
115
|
+
Define a input with the filter
|
116
|
+
```ruby
|
117
|
+
<%= form_tag do %>
|
118
|
+
<%= label :filter, :firstname %>
|
119
|
+
<%= submit_tag t('common.filters.search' %>
|
120
|
+
<%= submit_tag t('common.filters.clear' %>
|
121
|
+
<% end %>
|
122
|
+
```
|
data/easy_filters.gemspec
CHANGED
@@ -8,10 +8,10 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.name = "easy_filters"
|
9
9
|
spec.version = EasyFilters::VERSION
|
10
10
|
spec.authors = ["German Olle"]
|
11
|
-
spec.email = ["
|
11
|
+
spec.email = ["germanolle.unlp@gmail.com"]
|
12
12
|
spec.summary = "This gem implement a base model filter to declare your owns filters writing a single file"
|
13
13
|
spec.description = "Define a model class, allowing declare a subclass of this and implement simple methods to filter each field model"
|
14
|
-
spec.homepage = "
|
14
|
+
spec.homepage = "https://github.com/germanolleunlp/easy_filters/"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0")
|
data/lib/easy_filters/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy_filters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- German Olle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -69,7 +69,7 @@ dependencies:
|
|
69
69
|
description: Define a model class, allowing declare a subclass of this and implement
|
70
70
|
simple methods to filter each field model
|
71
71
|
email:
|
72
|
-
-
|
72
|
+
- germanolle.unlp@gmail.com
|
73
73
|
executables: []
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
@@ -88,7 +88,7 @@ files:
|
|
88
88
|
- spec/filter_spec.rb
|
89
89
|
- spec/minitest_helper.rb
|
90
90
|
- spec/model_filter_spec.rb
|
91
|
-
homepage:
|
91
|
+
homepage: https://github.com/germanolleunlp/easy_filters/
|
92
92
|
licenses:
|
93
93
|
- MIT
|
94
94
|
metadata: {}
|