rows_controller 1.1.9 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +19 -0
  3. data/.watchr +55 -0
  4. data/Appraisals +7 -0
  5. data/MIT-LICENSE +1 -1
  6. data/README.md +29 -16
  7. data/Rakefile +21 -12
  8. data/app/controllers/rows_controller.rb +47 -62
  9. data/lib/rows_controller/locales/de.yml +2 -2
  10. data/lib/rows_controller/model.rb +20 -0
  11. data/lib/rows_controller/resources.rb +78 -0
  12. data/lib/rows_controller/utils.rb +19 -0
  13. data/lib/rows_controller/version.rb +1 -1
  14. data/lib/rows_controller.rb +4 -2
  15. data/test/controllers/order/items_controller_test.rb +53 -0
  16. data/test/controllers/orders_controller_test.rb +53 -0
  17. data/test/controllers/orders_test.rb +93 -0
  18. data/test/controllers/rows_controller_test.rb +52 -0
  19. data/test/controllers/rows_ext_controller_test.rb +22 -0
  20. data/test/dummy/Rakefile +6 -0
  21. data/test/dummy/app/controllers/application_controller.rb +5 -0
  22. data/test/dummy/app/controllers/order/items_controller.rb +8 -0
  23. data/test/dummy/app/controllers/orders_controller.rb +8 -0
  24. data/test/dummy/app/models/order/item.rb +2 -0
  25. data/test/dummy/app/models/order.rb +11 -0
  26. data/test/dummy/app/views/layouts/application.html.erb +12 -0
  27. data/test/dummy/app/views/order/items/_form.html.erb +8 -0
  28. data/test/dummy/app/views/orders/_form.html.erb +8 -0
  29. data/test/dummy/bin/bundle +3 -0
  30. data/test/dummy/bin/rails +4 -0
  31. data/test/dummy/bin/rake +4 -0
  32. data/test/dummy/bin/setup +29 -0
  33. data/test/dummy/config/application.rb +26 -0
  34. data/test/dummy/config/boot.rb +5 -0
  35. data/test/dummy/config/database.yml +25 -0
  36. data/test/dummy/config/environment.rb +5 -0
  37. data/test/dummy/config/environments/development.rb +41 -0
  38. data/test/dummy/config/environments/production.rb +79 -0
  39. data/test/dummy/config/environments/test.rb +42 -0
  40. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  41. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/test/dummy/config/initializers/session_store.rb +3 -0
  43. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  44. data/test/dummy/config/routes.rb +9 -0
  45. data/test/dummy/config/secrets.yml +22 -0
  46. data/test/dummy/config.ru +4 -0
  47. data/test/dummy/db/development.sqlite3 +0 -0
  48. data/test/dummy/db/migrate/001_create_orders.rb +9 -0
  49. data/test/dummy/db/migrate/002_create_order_items.rb +9 -0
  50. data/test/dummy/db/schema.rb +28 -0
  51. data/test/dummy/db/test.sqlite3 +0 -0
  52. data/test/dummy/tmp/restart.txt +0 -0
  53. data/test/fixtures/order/items.yml +5 -0
  54. data/test/fixtures/orders.yml +5 -0
  55. data/test/test_helper.rb +27 -0
  56. metadata +95 -21
  57. data/app/controllers/rows_controller/helpers.rb +0 -114
  58. data/app/controllers/rows_ext_controller.rb.bak +0 -18
  59. data/lib/rows_controller/version.rb.bak +0 -3
@@ -0,0 +1,5 @@
1
+ one:
2
+ price: MyString
3
+
4
+ two:
5
+ price: MyString
@@ -0,0 +1,5 @@
1
+ one:
2
+ name: MyString
3
+
4
+ two:
5
+ name: MyString
@@ -0,0 +1,27 @@
1
+ #require 'simplecov'
2
+ #SimpleCov.start do
3
+ # add_filter 'test'
4
+ # command_name 'Minitest'
5
+ #end
6
+
7
+
8
+ # Configure Rails Environment
9
+ ENV["RAILS_ENV"] = "test"
10
+
11
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
12
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
13
+ require "rails/test_help"
14
+
15
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
16
+ # to be shown.
17
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
18
+
19
+ # Load support files
20
+ ##Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
21
+
22
+ # Load fixtures from the engine
23
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
24
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
25
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
26
+ ActiveSupport::TestCase.fixtures :all
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rows_controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dittmar Krall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-04 00:00:00.000000000 Z
11
+ date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: capybara
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  description: YourController < RowsController ( < ApplicationController).
42
28
  email:
43
29
  - dittmar.krall@matique.de
@@ -45,13 +31,14 @@ executables: []
45
31
  extensions: []
46
32
  extra_rdoc_files: []
47
33
  files:
34
+ - ".travis.yml"
35
+ - ".watchr"
36
+ - Appraisals
48
37
  - MIT-LICENSE
49
38
  - README.md
50
39
  - Rakefile
51
40
  - app/controllers/rows_controller.rb
52
- - app/controllers/rows_controller/helpers.rb
53
41
  - app/controllers/rows_ext_controller.rb
54
- - app/controllers/rows_ext_controller.rb.bak
55
42
  - app/views/rows/_form.slim
56
43
  - app/views/rows/_list.slim
57
44
  - app/views/rows/_list_footer.slim
@@ -71,8 +58,51 @@ files:
71
58
  - lib/rows_controller/engine.rb
72
59
  - lib/rows_controller/locales/de.yml
73
60
  - lib/rows_controller/locales/en.yml
61
+ - lib/rows_controller/model.rb
62
+ - lib/rows_controller/resources.rb
63
+ - lib/rows_controller/utils.rb
74
64
  - lib/rows_controller/version.rb
75
- - lib/rows_controller/version.rb.bak
65
+ - test/controllers/order/items_controller_test.rb
66
+ - test/controllers/orders_controller_test.rb
67
+ - test/controllers/orders_test.rb
68
+ - test/controllers/rows_controller_test.rb
69
+ - test/controllers/rows_ext_controller_test.rb
70
+ - test/dummy/Rakefile
71
+ - test/dummy/app/controllers/application_controller.rb
72
+ - test/dummy/app/controllers/order/items_controller.rb
73
+ - test/dummy/app/controllers/orders_controller.rb
74
+ - test/dummy/app/models/order.rb
75
+ - test/dummy/app/models/order/item.rb
76
+ - test/dummy/app/views/layouts/application.html.erb
77
+ - test/dummy/app/views/order/items/_form.html.erb
78
+ - test/dummy/app/views/orders/_form.html.erb
79
+ - test/dummy/bin/bundle
80
+ - test/dummy/bin/rails
81
+ - test/dummy/bin/rake
82
+ - test/dummy/bin/setup
83
+ - test/dummy/config.ru
84
+ - test/dummy/config/application.rb
85
+ - test/dummy/config/boot.rb
86
+ - test/dummy/config/database.yml
87
+ - test/dummy/config/environment.rb
88
+ - test/dummy/config/environments/development.rb
89
+ - test/dummy/config/environments/production.rb
90
+ - test/dummy/config/environments/test.rb
91
+ - test/dummy/config/initializers/cookies_serializer.rb
92
+ - test/dummy/config/initializers/filter_parameter_logging.rb
93
+ - test/dummy/config/initializers/session_store.rb
94
+ - test/dummy/config/initializers/wrap_parameters.rb
95
+ - test/dummy/config/routes.rb
96
+ - test/dummy/config/secrets.yml
97
+ - test/dummy/db/development.sqlite3
98
+ - test/dummy/db/migrate/001_create_orders.rb
99
+ - test/dummy/db/migrate/002_create_order_items.rb
100
+ - test/dummy/db/schema.rb
101
+ - test/dummy/db/test.sqlite3
102
+ - test/dummy/tmp/restart.txt
103
+ - test/fixtures/order/items.yml
104
+ - test/fixtures/orders.yml
105
+ - test/test_helper.rb
76
106
  homepage: http://matique.de
77
107
  licenses:
78
108
  - MIT
@@ -93,8 +123,52 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
123
  version: '0'
94
124
  requirements: []
95
125
  rubyforge_project:
96
- rubygems_version: 2.4.2
126
+ rubygems_version: 2.4.8
97
127
  signing_key:
98
128
  specification_version: 4
99
129
  summary: RowsController DRYs your controllers.
100
- test_files: []
130
+ test_files:
131
+ - test/fixtures/order/items.yml
132
+ - test/fixtures/orders.yml
133
+ - test/test_helper.rb
134
+ - test/dummy/Rakefile
135
+ - test/dummy/config.ru
136
+ - test/dummy/tmp/restart.txt
137
+ - test/dummy/db/development.sqlite3
138
+ - test/dummy/db/schema.rb
139
+ - test/dummy/db/migrate/002_create_order_items.rb
140
+ - test/dummy/db/migrate/001_create_orders.rb
141
+ - test/dummy/db/test.sqlite3
142
+ - test/dummy/app/models/order/item.rb
143
+ - test/dummy/app/models/order.rb
144
+ - test/dummy/app/views/order/items/_form.html.erb
145
+ - test/dummy/app/views/layouts/application.html.erb
146
+ - test/dummy/app/views/orders/_form.html.erb
147
+ - test/dummy/app/controllers/application_controller.rb
148
+ - test/dummy/app/controllers/order/items_controller.rb
149
+ - test/dummy/app/controllers/orders_controller.rb
150
+ - test/dummy/bin/setup
151
+ - test/dummy/bin/bundle
152
+ - test/dummy/bin/rake
153
+ - test/dummy/bin/rails
154
+ - test/dummy/config/environment.rb
155
+ - test/dummy/config/initializers/wrap_parameters.rb
156
+ - test/dummy/config/initializers/cookies_serializer.rb
157
+ - test/dummy/config/initializers/session_store.rb
158
+ - test/dummy/config/initializers/filter_parameter_logging.rb
159
+ - test/dummy/config/secrets.yml
160
+ - test/dummy/config/application.rb
161
+ - test/dummy/config/routes.rb
162
+ - test/dummy/config/boot.rb
163
+ - test/dummy/config/environments/development.rb
164
+ - test/dummy/config/environments/production.rb
165
+ - test/dummy/config/environments/test.rb
166
+ - test/dummy/config/database.yml
167
+ - test/controllers/orders_test.rb
168
+ - test/controllers/orders_controller_test.rb
169
+ - test/controllers/order/items_controller_test.rb
170
+ - test/controllers/rows_controller_test.rb
171
+ - test/controllers/rows_ext_controller_test.rb
172
+ - Appraisals
173
+ - ".watchr"
174
+ - ".travis.yml"
@@ -1,114 +0,0 @@
1
- class RowsController < ApplicationController
2
- helper_method :set_resource, :set_resources
3
- helper_method :resource, :resources, :resource_columns, :resource_format
4
- helper_method :model_class, :model_name, :model_symbol, :model_symbol_plural
5
-
6
- # resources/@rows
7
- def set_resources(rows = nil)
8
- rows ||= model_class.all
9
- instance_variable_set("@#{model_symbol_plural}", rows)
10
- @rows = rows
11
- end
12
-
13
- def set_resource(row = nil)
14
- row ||= model_class.find(params[:id].to_i)
15
- instance_variable_set("@#{model_symbol}", row)
16
- @row = row
17
- end
18
-
19
- def resources
20
- @rows || set_resources
21
- end
22
-
23
- def resource
24
- @row || set_resource
25
- end
26
-
27
- def resource_columns
28
- return model_class.column_headers if model_class.respond_to?(:column_headers)
29
- return ['to_s'] unless model_class.respond_to?(:content_columns)
30
- ['id'] + model_class.content_columns.collect{|c| c.name }
31
- end
32
-
33
- private
34
- def resource_whitelist
35
- raise "RowsController requires private method 'resource_whitelist' in controller <#{params[:controller]}>"
36
- end
37
-
38
-
39
- public
40
- # low level resource methods
41
- # can be monkey patched
42
- def resource_new
43
- if params[model_symbol]
44
- set_resource model_class.new(resource_params)
45
- else
46
- set_resource model_class.new
47
- end
48
- end
49
-
50
- def resource_create
51
- resource_new
52
- resource.save
53
- end
54
-
55
- def resource_update
56
- unless RAILS4
57
- resource.update_attributes(resource_params)
58
- else
59
- resource.update(resource_params)
60
- end
61
- end
62
-
63
- def resource_destroy
64
- resource.destroy
65
- end
66
-
67
-
68
- # redirections
69
- # can be monkey patched
70
- def redirect_to_index
71
- redirect_to action: 'index'
72
- end
73
-
74
-
75
- # dynamic model related methods
76
- def self.model_class(model_class = nil)
77
- @model_class = model_class unless model_class.nil?
78
- @model_class
79
- end
80
-
81
- def model_class
82
- @model_class ||= self.class.model_class ||
83
- params[:controller].singularize.camelize.constantize
84
- end
85
-
86
- def model_name
87
- @_model_name ||= model_class.name
88
- end
89
-
90
- def model_symbol
91
- @_model_symbol ||= model_name.underscore
92
- end
93
-
94
- def model_symbol_plural
95
- @_model_symbol_plural ||= model_name.pluralize.underscore
96
- end
97
-
98
- # formatting
99
- def resource_format(x)
100
- return '--'.html_safe if x.nil?
101
- bool = x.class == Time || x.class == Date || x.class == DateTime ||
102
- x.class == ActiveSupport::TimeWithZone
103
- return x.strftime('%d.%m.%Y').html_safe if bool
104
- # return I18n.l(x) if bool
105
- return x.to_s.html_safe if x.class == Fixnum
106
- return 'X'.html_safe if x.class == TrueClass
107
- return '&ensp;'.html_safe if x.class == FalseClass
108
- return x.call if x.class == Proc
109
- return '---'.html_safe if x.empty?
110
- str = x.to_s
111
- return str.gsub(/\r*\n/, '<br/>')
112
- end
113
-
114
- end
@@ -1,18 +0,0 @@
1
- class RowsExtController < RowsController
2
-
3
- def copy
4
- set_resource resource.dup
5
- resource.id = nil
6
- respond_to do |format|
7
- format.html { render :action => :new }
8
- end
9
- end
10
-
11
- def multi_deletion
12
- items = params[:multi_tick] || []
13
- items -= ['']
14
- items.map { |id| model_class.find_by_id(id.to_i).destroy }
15
- redirect_to action: :index
16
- end
17
-
18
- end
@@ -1,3 +0,0 @@
1
- module Rows
2
- VERSION = "1.1.8"
3
- end