bc-middleware 0.0.5 → 0.0.6

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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bc-middleware (0.0.5)
4
+ bc-middleware (0.0.6)
5
5
  inherited_resources (~> 1.3.1)
6
6
 
7
7
  GEM
@@ -23,7 +23,7 @@ GEM
23
23
  activesupport (3.2.8)
24
24
  i18n (~> 0.6)
25
25
  multi_json (~> 1.0)
26
- builder (3.0.3)
26
+ builder (3.0.4)
27
27
  erubis (2.7.0)
28
28
  has_scope (0.5.1)
29
29
  hike (1.2.1)
@@ -5,16 +5,38 @@ module BcMiddleware
5
5
  def collection
6
6
  get_collection_ivar || begin
7
7
  c = end_of_association_chain
8
+
8
9
  if respond_to?(:search_terms) && (terms = search_terms).present?
9
- c = c.search(terms)
10
- end
10
+ c = c.search(terms)
11
+ end
12
+
13
+ if paginate_terms.present? && page_term.present? && per_term.present?
14
+ if c.respond_to?(:scoped)
15
+ c = c.search.page(page_term).per(per_term)
16
+ else
17
+ c = c.page(page_term).per(per_term)
18
+ end
19
+ end
20
+
11
21
  set_collection_ivar(c.respond_to?(:scoped) ? c.scoped : c.all)
12
22
  end
13
23
  end
14
24
 
15
25
  def search_terms
16
26
  params[:search]
17
- end
27
+ end
28
+
29
+ def paginate_terms
30
+ params[:paginate]
31
+ end
32
+
33
+ def page_term
34
+ paginate_terms[:page]
35
+ end
36
+
37
+ def per_term
38
+ paginate_terms[:per]
39
+ end
18
40
 
19
41
  def attribute_fields
20
42
  params[:fields].present? ? params[:fields] : resource_class_attributes
@@ -1,5 +1,5 @@
1
1
  module Bc
2
2
  module Middleware
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bc-middleware
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Byclosure
@@ -15,12 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-10-09 00:00:00 Z
18
+ date: 2013-02-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
21
  name: inherited_resources
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
26
26
  - - ~>
@@ -31,8 +31,8 @@ dependencies:
31
31
  - 3
32
32
  - 1
33
33
  version: 1.3.1
34
- requirement: *id001
35
34
  type: :runtime
35
+ version_requirements: *id001
36
36
  description: Library to get a middleware implementation (REST api), with support a search, etc. fast
37
37
  email:
38
38
  - info@byclosure.com