dynamic_controller 0.0.10 → 0.0.11

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.
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ script: bundle exec rspec spec
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # DynamicController
2
2
 
3
+ [![Build Status](https://travis-ci.org/gabynaiman/dynamic_controller.png?branch=master)](https://travis-ci.org/gabynaiman/dynamic_controller)
4
+
3
5
  Simple way to add CRUD actions into Rails controllers.
4
6
 
5
7
  Suppoted formats HTML and JSON.
@@ -16,12 +16,12 @@ Gem::Specification.new do |s|
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
17
  s.require_paths = ["lib"]
18
18
 
19
- s.add_dependency 'ransack'
20
- s.add_dependency 'kaminari'
21
- s.add_dependency 'nql', '0.0.5'
19
+ s.add_dependency 'ransack', '~> 0.7'
20
+ s.add_dependency 'kaminari', '~> 0.13'
21
+ s.add_dependency 'nql', '~> 0.1'
22
22
 
23
- s.add_development_dependency 'rails'
24
- s.add_development_dependency 'sqlite3'
25
- s.add_development_dependency 'rspec-rails'
26
- s.add_development_dependency 'factory_girl_rails'
23
+ s.add_development_dependency 'rails', '~> 3.2'
24
+ s.add_development_dependency 'sqlite3', '~> 1.3'
25
+ s.add_development_dependency 'rspec-rails', '~> 2.12'
26
+ s.add_development_dependency 'factory_girl_rails', '~> 3.4'
27
27
  end
@@ -72,34 +72,5 @@ module DynamicController
72
72
  end
73
73
  end
74
74
 
75
- def ransack_query
76
- search_query.is_a?(String) ? NQL.to_ransack(search_query) : search_query
77
- end
78
-
79
- def search_query_valid?
80
- begin
81
- search_node_valid? ransack_query, model_extended_attributes
82
- rescue NQL::InvalidExpressionError => ex
83
- Rails.logger.debug "Invalid search query: #{params[:q]} | Error: #{ex.message}"
84
- false
85
- end
86
- end
87
-
88
- def search_node_valid?(node, valid_attributes)
89
- return true unless node
90
- node.deep_symbolize_keys.each do |k, v|
91
- if k == :a
92
- return false unless valid_attributes.include?(v['0'.to_sym][:name])
93
- else
94
- if v.is_a?(Hash)
95
- return false unless search_node_valid?(v, valid_attributes)
96
- elsif v.is_a?(Array)
97
- v.select { |e| e.is_a?(Hash) }.each { |e| return false unless search_node_valid?(e, valid_attributes) }
98
- end
99
- end
100
- end
101
- true
102
- end
103
-
104
75
  end
105
76
  end
@@ -12,19 +12,12 @@ module DynamicController
12
12
  model = resource_class
13
13
  end
14
14
 
15
- empty_collection = model.where('1=2').page(params[:page])
16
-
17
- if search_query_valid?
18
- begin
19
- self.collection = model.search(ransack_query).result(distinct: true).page(params[:page])
20
- self.collection.all #Force load to handle exception here
21
- rescue ActiveRecord::StatementInvalid => ex
22
- Rails.logger.debug "Invalid search query: #{params[:q]} | Error: #{ex.message}"
23
- self.collection = empty_collection
24
- end
25
- else
26
- self.collection = empty_collection
27
- end
15
+ self.collection =
16
+ if search_query.is_a? String
17
+ model.nql(search_query, distinct: true).page(params[:page])
18
+ else
19
+ model.search(search_query).result(distinct: true).page(params[:page])
20
+ end
28
21
 
29
22
  Responder.new(self).index
30
23
  end
@@ -1,3 +1,3 @@
1
1
  module DynamicController
2
- VERSION = '0.0.10'
2
+ VERSION = '0.0.11'
3
3
  end
@@ -7,9 +7,6 @@
7
7
  # Ignore bundler config
8
8
  /.bundle
9
9
 
10
- # Ignore the default SQLite database.
11
- /db/*.sqlite3
12
-
13
10
  # Ignore all logfiles and tempfiles.
14
11
  /log/*.log
15
12
  /tmp
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,120 +9,120 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-15 00:00:00.000000000 Z
12
+ date: 2013-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ransack
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: '0.7'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: '0.7'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: kaminari
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: '0'
37
+ version: '0.13'
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: '0.13'
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: nql
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - '='
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 0.0.5
53
+ version: '0.1'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - '='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.5
61
+ version: '0.1'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: rails
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>='
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: '3.2'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: '3.2'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: sqlite3
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
- - - ! '>='
83
+ - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: '0'
85
+ version: '1.3'
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - ! '>='
91
+ - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: '0'
93
+ version: '1.3'
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: rspec-rails
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ! '>='
99
+ - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: '0'
101
+ version: '2.12'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ! '>='
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: '0'
109
+ version: '2.12'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: factory_girl_rails
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
- - - ! '>='
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '3.4'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
- - - ! '>='
123
+ - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: '3.4'
126
126
  description: Simple way to add CRUD actions into Rails controllers
127
127
  email:
128
128
  - gabynaiman@gmail.com
@@ -131,6 +131,7 @@ extensions: []
131
131
  extra_rdoc_files: []
132
132
  files:
133
133
  - .gitignore
134
+ - .travis.yml
134
135
  - Gemfile
135
136
  - README.md
136
137
  - Rakefile
@@ -217,6 +218,7 @@ files:
217
218
  - spec/dummy/db/migrate/20120929185302_create_streets.rb
218
219
  - spec/dummy/db/schema.rb
219
220
  - spec/dummy/db/seeds.rb
221
+ - spec/dummy/db/test.sqlite3
220
222
  - spec/dummy/doc/README_FOR_APP
221
223
  - spec/dummy/lib/assets/.gitkeep
222
224
  - spec/dummy/lib/tasks/.gitkeep
@@ -248,7 +250,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
248
250
  version: '0'
249
251
  segments:
250
252
  - 0
251
- hash: 925622353
253
+ hash: -3382296632707607217
252
254
  required_rubygems_version: !ruby/object:Gem::Requirement
253
255
  none: false
254
256
  requirements:
@@ -257,7 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
259
  version: '0'
258
260
  segments:
259
261
  - 0
260
- hash: 925622353
262
+ hash: -3382296632707607217
261
263
  requirements: []
262
264
  rubyforge_project:
263
265
  rubygems_version: 1.8.24