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 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: {}