easy_filters 0.0.1 → 0.0.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
  SHA1:
3
- metadata.gz: 9c4d6be28e25fe3be62cf50ab45d044a7ca7083d
4
- data.tar.gz: e221ccf98fa4c6fcc69cb60786997af1d5fb3712
3
+ metadata.gz: 1157caafe4fbbbadc2f21ac3dd9c1e8fc76eed32
4
+ data.tar.gz: 7f3bcf4651888dfbc41a7c7b536b066223a49653
5
5
  SHA512:
6
- metadata.gz: 0c24d10fbf0d42b5079a7e843ae0b4d98cb13c64e7e28cf66d4c6ee549f058690adf1492a88a341517368e28a9f5e9e8689690f9a651db873831576daab4f0a6
7
- data.tar.gz: 946460bf9331eebe0578d072636168003598afdb9db9358629e043c37a2dc76a98f0fa1df5ef9c73e120f7398aa23708f1587af72f20ce10e4cc7d2c13e6d7ad
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 = ["golle@cespi.unlp.edu.ar"]
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 = "http://rubygems.org/gems/easy_filters"
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")
@@ -1,3 +1,3 @@
1
1
  module EasyFilters
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
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.1
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-01 00:00:00.000000000 Z
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
- - golle@cespi.unlp.edu.ar
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: http://rubygems.org/gems/easy_filters
91
+ homepage: https://github.com/germanolleunlp/easy_filters/
92
92
  licenses:
93
93
  - MIT
94
94
  metadata: {}