rows_controller 1.1.9 → 2.0.3

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.
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