ransack 0.5.7 → 0.5.8

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.
@@ -59,15 +59,17 @@ module Ransack
59
59
  str ||= ''
60
60
 
61
61
  if (segments = str.split(/_/)).size > 0
62
- association_parts = []
62
+ remainder = []
63
63
  found_assoc = nil
64
- while !found_assoc && segments.size > 0 && association_parts << segments.shift do
64
+ while !found_assoc && segments.size > 0 do
65
65
  # Strip the _of_Model_type text from the association name, but hold
66
66
  # onto it in klass, for use as the next base
67
- assoc, klass = unpolymorphize_association(association_parts.join('_'))
67
+ assoc, klass = unpolymorphize_association(segments.join('_'))
68
68
  if found_assoc = get_association(assoc, base)
69
- base = traverse(segments.join('_'), klass || found_assoc.klass)
69
+ base = traverse(remainder.join('_'), klass || found_assoc.klass)
70
70
  end
71
+
72
+ remainder.unshift segments.pop
71
73
  end
72
74
  raise UntraversableAssociationError, "No association matches #{str}" unless found_assoc
73
75
  end
@@ -1,3 +1,3 @@
1
1
  module Ransack
2
- VERSION = "0.5.7"
2
+ VERSION = "0.5.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ransack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-03 00:00:00.000000000Z
12
+ date: 2011-10-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &70314605054500 !ruby/object:Gem::Requirement
16
+ requirement: &70316894493020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70314605054500
24
+ version_requirements: *70316894493020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: actionpack
27
- requirement: &70314605053560 !ruby/object:Gem::Requirement
27
+ requirement: &70316894492520 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70314605053560
35
+ version_requirements: *70316894492520
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: polyamorous
38
- requirement: &70314605053020 !ruby/object:Gem::Requirement
38
+ requirement: &70316894492020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.5.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70314605053020
46
+ version_requirements: *70316894492020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70314605052340 !ruby/object:Gem::Requirement
49
+ requirement: &70316894491540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.6.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70314605052340
57
+ version_requirements: *70316894491540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: machinist
60
- requirement: &70314605051080 !ruby/object:Gem::Requirement
60
+ requirement: &70316894491000 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.6
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70314605051080
68
+ version_requirements: *70316894491000
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faker
71
- requirement: &70314605050120 !ruby/object:Gem::Requirement
71
+ requirement: &70316894490480 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.9.5
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70314605050120
79
+ version_requirements: *70316894490480
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: sqlite3
82
- requirement: &70314605049340 !ruby/object:Gem::Requirement
82
+ requirement: &70316894489760 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: 1.3.3
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70314605049340
90
+ version_requirements: *70316894489760
91
91
  description: Ransack is the successor to the MetaSearch gem. It improves and expands
92
92
  upon MetaSearch's functionality, but does not have a 100%-compatible API.
93
93
  email: