easy_search_form 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: 457b6c7008b5d614c5d7cea255d8cef57afe8111
4
- data.tar.gz: d07504bd835c7aa621ac7b7988cade16fea46ef7
3
+ metadata.gz: 29af1d7870bf16aeb753be33d4ffb1a55488a292
4
+ data.tar.gz: 9dbf02675b8c1a16ae978080889dd23ef66b4cd8
5
5
  SHA512:
6
- metadata.gz: 136282ba9ce5f434ff95340167c3d5290077d369a9c4adad7e2c2a6064988957d242943dda70c1c72a4394eee571fa10f24672c56ff6f9c12c10b7144a6c932a
7
- data.tar.gz: e8e02dccbd009e69bece9c0040bae8e800d6766fb45c5144adfef6b2ef368d2bd3f994f4b6e34731bd45c8bd5bb8a4d57a944d56b7c8210db090d3d0cb17cd5d
6
+ metadata.gz: 1cd571857217907433f33e304046fff19356746adc3a3ca0ac9a8b35b18faaa3f09711dee47e825dd2a91caa9846f700442c763232727df8681ae0de9b6ec3a3
7
+ data.tar.gz: caa9c8d142fc13824629c9a1b1d25b01cd3c2086c06d74e6ccbb649d1a88eb4fe46db5fac273b4e2705afd593af09972564014b81cd3665cb2cf5ed182c6c36f
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # EasySearch
1
+ # EasySearchForm
2
2
 
3
3
  ## Introduction
4
4
 
@@ -9,7 +9,7 @@
9
9
  Add this line to your application's Gemfile:
10
10
 
11
11
  ```ruby
12
- gem 'easy_search'
12
+ gem 'easy_search_form'
13
13
  ```
14
14
 
15
15
  And then execute:
@@ -18,7 +18,7 @@ And then execute:
18
18
 
19
19
  Or install it yourself as:
20
20
 
21
- $ gem install easy_search
21
+ $ gem install easy_search_form
22
22
 
23
23
  ## Example
24
24
 
data/lib/easy_search.rb CHANGED
@@ -1,9 +1,57 @@
1
1
  require "easy_search/version"
2
- require 'easy_search/acts_as_searchable'
3
2
  require 'easy_search/easysearch_helper'
4
3
 
5
4
  module EasySearch
6
- # Your code goes here...
5
+ def self.included(base)
6
+ base.send :extend, ClassMethods
7
+ end
8
+
9
+ module ClassMethods
10
+ def acts_as_searchable(*args)
11
+ @search_options = args
12
+ self.send :extend, SearchClassMethods
13
+ end
14
+ end
15
+
16
+ module SearchClassMethods
17
+ def search(search)
18
+ if search
19
+ query = []
20
+ values = []
21
+ @search_options.each do |opt|
22
+ condition_type = nil
23
+
24
+ if opt.instance_of?(Hash)
25
+ debugger
26
+ case opt[opt.keys.first]
27
+ when :equals
28
+ condition_type = "="
29
+ else
30
+ condition_type = "LIKE"
31
+ end
32
+
33
+ query << "#{opt.keys.first} #{condition_type} ?"
34
+ else
35
+ query << "#{opt} LIKE ?"
36
+ end
37
+
38
+ if condition_type.nil? or condition_type == "LIKE"
39
+ values << "%#{search}%"
40
+ else
41
+ values << search
42
+ end
43
+ end
44
+
45
+ conditions = [query.join(" OR ")]
46
+ conditions += values
47
+
48
+ find(:all, :conditions => conditions)
49
+ else
50
+ all
51
+ end
52
+ end
53
+ end
7
54
  end
8
55
 
9
- ActionView::Base.send :include, EasySearchHelper
56
+ ActionView::Base.send :include, EasySearchHelper
57
+ ActiveRecord::Base.send :include, EasySearch
@@ -1,3 +1,3 @@
1
1
  module EasySearch
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_search_form
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
  - Bruno Cordeiro
@@ -69,7 +69,6 @@ files:
69
69
  - bin/setup
70
70
  - easy_search.gemspec
71
71
  - lib/easy_search.rb
72
- - lib/easy_search/acts_as_searchable.rb
73
72
  - lib/easy_search/easysearch_helper.rb
74
73
  - lib/easy_search/version.rb
75
74
  - lib/easy_search/views/_search_form.html.erb
@@ -1,53 +0,0 @@
1
- module EasySearch
2
- def self.included(base)
3
- base.send :extend, ClassMethods
4
- end
5
-
6
- module ClassMethods
7
- def acts_as_searchable(*args)
8
- @search_options = args
9
- self.send :extend, SearchClassMethods
10
- end
11
- end
12
-
13
- module SearchClassMethods
14
- def search(search)
15
- if search
16
- query = []
17
- values = []
18
- @search_options.each do |opt|
19
- condition_type = nil
20
-
21
- if opt.instance_of?(Hash)
22
- debugger
23
- case opt[opt.keys.first]
24
- when :equals
25
- condition_type = "="
26
- else
27
- condition_type = "LIKE"
28
- end
29
-
30
- query << "#{opt.keys.first} #{condition_type} ?"
31
- else
32
- query << "#{opt} LIKE ?"
33
- end
34
-
35
- if condition_type.nil? or condition_type == "LIKE"
36
- values << "%#{search}%"
37
- else
38
- values << search
39
- end
40
- end
41
-
42
- conditions = [query.join(" OR ")]
43
- conditions += values
44
-
45
- find(:all, :conditions => conditions)
46
- else
47
- all
48
- end
49
- end
50
- end
51
- end
52
-
53
- ActiveRecord::Base.send :include, EasySearch