rows_controller 2.2.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ddc0bace86fc0866651fa9a9a7db8e2680954dfca498d1e166ced15c1ad97a7
4
- data.tar.gz: 6c1302388c207f4b558754bbccb0fbfd437623cd807d98008ff6a8f8d51e5bcb
3
+ metadata.gz: d83d9878b958afcbe225828fd7206407ed5883343c1612022659ba51e6f957b3
4
+ data.tar.gz: d37b5cbfac29ce95eac2324c59e812c8b555d1b827f716b439ec7e736a48a5dd
5
5
  SHA512:
6
- metadata.gz: 629d50095b51ab86a72dad57ff842c26c98b08dc58b5237431c5df736d7bc19765adb5cc31eae662b2a15296e9beeb143ec6c94cfe7fb5e6c07e8ed07634ef1e
7
- data.tar.gz: 65dd1a78bb87ded0a88abe36524d199aff6db89fe00fea93bebf28188614b85f380b89022f248454b2d86b42f26a5d1b609c47e0cd196041b51d48c1c95890cf
6
+ metadata.gz: 44894869a5219e72a8424481721aa4c4b2b2a702ff46099d397100a60c17b9d8803acaecbf5fd289ee2096c0eb9a7120dd5e6d9f92cdb6d7881ad8872e7eb664
7
+ data.tar.gz: 96e17b71d029fed4f01c3f5609999cb1704816976b7b18fdd19956bb889e4a11b253a349520f4cbcbbdd1d7ce7ba8ddc83a3cf8f646cfd5abebf56191f0c1ea3
@@ -77,7 +77,7 @@ class RowsController < ApplicationController
77
77
  if params[:commit] == 'OK'
78
78
  redirect_to action: :index
79
79
  else
80
- redirect_to action: 'edit', id: resource.id
80
+ redirect_to action: 'edit', id: resource.id
81
81
  end
82
82
  }
83
83
  format.json { render action: 'show',
data/lib/rows/engine.rb CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Rows
4
2
  class Engine < ::Rails::Engine
5
3
  end
data/lib/rows/version.rb CHANGED
@@ -1,7 +1,7 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Rows
4
- VERSION = '2.2.2' # 2019-05-06
2
+ VERSION = '3.0.0' # 2019-10-03
3
+ # VERSION = '2.2.3' # 2019-10-03
4
+ # VERSION = '2.2.2' # 2019-05-06
5
5
  # VERSION = '2.2.1' # 2019-02-18
6
6
  # VERSION = '2.2.0'
7
7
  end
@@ -1,7 +1,7 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Rows
2
+ # VERSION = '3.0.0' # 2019-10-03
3
+ VERSION = '2.2.3' # 2019-10-03
4
4
  # VERSION = '2.2.2' # 2019-05-06
5
- VERSION = '2.2.1' # 2019-02-18
5
+ # VERSION = '2.2.1' # 2019-02-18
6
6
  # VERSION = '2.2.0'
7
7
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rows_controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dittmar Krall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-06 00:00:00.000000000 Z
11
+ date: 2019-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '12'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '12'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: appraisal
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -25,7 +53,21 @@ dependencies:
25
53
  - !ruby/object:Gem::Version
26
54
  version: '2'
27
55
  - !ruby/object:Gem::Dependency
28
- name: bundler
56
+ name: combustion
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest
29
71
  requirement: !ruby/object:Gem::Requirement
30
72
  requirements:
31
73
  - - ">="
@@ -39,19 +81,19 @@ dependencies:
39
81
  - !ruby/object:Gem::Version
40
82
  version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
- name: rake
84
+ name: simplecov
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
- - - "~>"
87
+ - - ">="
46
88
  - !ruby/object:Gem::Version
47
- version: '12'
89
+ version: '0'
48
90
  type: :development
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
- - - "~>"
94
+ - - ">="
53
95
  - !ruby/object:Gem::Version
54
- version: '12'
96
+ version: '0'
55
97
  description: YourController < RowsController ( < ApplicationController).
56
98
  email:
57
99
  - dittmar.krall@matique.de
@@ -62,9 +104,7 @@ files:
62
104
  - MIT-LICENSE
63
105
  - README.md
64
106
  - app/controllers/rows_controller.rb
65
- - app/controllers/rows_controller.rb.bak
66
107
  - app/controllers/rows_ext_controller.rb
67
- - app/controllers/rows_ext_controller.rb.bak
68
108
  - app/views/rows/_form.slim
69
109
  - app/views/rows/_list.slim
70
110
  - app/views/rows/_list_footer.slim
@@ -81,19 +121,14 @@ files:
81
121
  - app/views/shared/_error_explanation.slim
82
122
  - app/views/shared/_show_flash.slim
83
123
  - lib/rows/engine.rb
84
- - lib/rows/engine.rb.bak
85
124
  - lib/rows/locales/de.yml
86
125
  - lib/rows/locales/en.yml
87
126
  - lib/rows/model.rb
88
- - lib/rows/model.rb.bak
89
127
  - lib/rows/resources.rb
90
- - lib/rows/resources.rb.bak
91
128
  - lib/rows/utils.rb
92
- - lib/rows/utils.rb.bak
93
129
  - lib/rows/version.rb
94
130
  - lib/rows/version.rb.bak
95
131
  - lib/rows_controller.rb
96
- - lib/rows_controller.rb.bak
97
132
  homepage: http://matique.de
98
133
  licenses:
99
134
  - MIT
@@ -113,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
148
  - !ruby/object:Gem::Version
114
149
  version: '0'
115
150
  requirements: []
116
- rubygems_version: 3.0.1
151
+ rubygems_version: 3.0.6
117
152
  signing_key:
118
153
  specification_version: 4
119
154
  summary: RowsController DRYs your controllers.
@@ -1,91 +0,0 @@
1
- require 'rows/resources'
2
- require 'rows/model'
3
- require 'rows/utils'
4
-
5
- class RowsController < ApplicationController
6
- helper_method :set_resource, :set_resources, :resource, :resources
7
- helper_method :resource_columns, :resource_format
8
- helper_method :model_class, :model_name
9
- helper_method :model_symbol, :model_symbol_plural
10
-
11
- include Rows::Model
12
- include Rows::Resources
13
- include Rows::Utils
14
-
15
- def self.model_class(model_class = nil)
16
- @_model_class ||= nil
17
- unless model_class.nil?
18
- @_model_class = model_class
19
- @_model_class = model_class.constantize if model_class.is_a?(String)
20
- end
21
- @_model_class
22
- end
23
-
24
- # GET /:resources[.json]
25
- def index
26
- set_resources
27
- end
28
-
29
- # GET /:resource/:id[.json]
30
- def show
31
- set_resource
32
- end
33
-
34
- # GET /:resource/new
35
- def new
36
- resource_new
37
- end
38
-
39
- # GET /:resource/:id/edit
40
- def edit
41
- set_resource
42
- end
43
-
44
- # POST /:resources[.json]
45
- def create
46
- create_update(:resource_create, 'created')
47
- end
48
-
49
- # PATCH/PUT /:resources/:id[.json]
50
- def update
51
- set_resource
52
- create_update(:resource_update, 'updated')
53
- end
54
-
55
- # DELETE /:resources/:id[.json]
56
- def destroy
57
- set_resource
58
- resource_destroy
59
- flash[:notice] = t('ui.destroyed', model: model_name).html_safe unless request.xhr?
60
- respond_to do |format|
61
- format.html { redirect_to action: :index }
62
- format.js { render template: 'rows/destroy', layout: false }
63
- format.json { head :no_content }
64
- end
65
- end
66
-
67
- private
68
- def create_update(which, msg)
69
- respond_to do |format|
70
- if self.send(which)
71
- format.html {
72
- flash[:notice] = t(msg, scope: :ui, model: model_name,
73
- default: "%{model} was successfully #{msg}.").html_safe
74
- if params[:commit] == 'OK'
75
- redirect_to action: :index
76
- else
77
- redirect_to action: 'edit', id: resource.id
78
- end
79
- }
80
- format.json { render action: 'show',
81
- status: msg == 'created' ? :created : :ok,
82
- location: resource }
83
- else ## failed
84
- format.html { render action: msg == 'created' ? :new : :edit }
85
- format.json { render json: resource.errors,
86
- status: :unprocessable_entity }
87
- end
88
- end
89
- end
90
-
91
- 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,4 +0,0 @@
1
- module Rows
2
- class Engine < ::Rails::Engine
3
- end
4
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Rows::Model
4
-
5
- def model_class
6
- @_model_class ||= self.class.model_class ||
7
- params[:controller].singularize.camelize.constantize
8
- end
9
-
10
- if Rails::VERSION::MAJOR > 3
11
- def model_name
12
- @_model_name ||= model_class.model_name.name
13
- end
14
-
15
- def model_symbol
16
- @_model_symbol ||= model_class.model_name.singular
17
- end
18
- else
19
- def model_name
20
- @_model_name ||= model_class.name
21
- end
22
-
23
- def model_symbol
24
- @_model_symbol ||= model_name.underscore.gsub( %r{/}, '_' )
25
- end
26
- end
27
-
28
- def model_symbol_plural
29
- @_model_symbol_plural ||= model_symbol.pluralize
30
- end
31
-
32
- end
@@ -1,80 +0,0 @@
1
- module Rows::Resources
2
-
3
- def set_resources(rows = nil)
4
- rows ||= model_class.all
5
- instance_variable_set("@#{model_symbol_plural}", rows)
6
- @rows = rows
7
- end
8
-
9
- def set_resource(row = nil)
10
- row ||= model_class.find_by_id(params[:id].to_i)
11
- instance_variable_set("@#{model_symbol}", row)
12
- @row = row
13
- end
14
-
15
- def resources
16
- @rows ||= set_resources
17
- end
18
-
19
- def resource
20
- @row ||= set_resource
21
- end
22
-
23
- private
24
- # low level resource methods
25
- # can be monkey patched
26
- def resource_new
27
- if params[model_symbol]
28
- set_resource model_class.new(resource_params)
29
- else
30
- set_resource model_class.new
31
- end
32
- end
33
-
34
- def resource_create
35
- resource_new
36
- resource.save
37
- end
38
-
39
- def resource_update
40
- if Rails::VERSION::MAJOR >= 4
41
- # return true unless params[model_symbol]
42
- resource.update(resource_params)
43
- else
44
- resource.update_attributes(resource_params)
45
- end
46
- end
47
-
48
- def resource_destroy
49
- resource.destroy
50
- end
51
-
52
- def resource_columns
53
- return model_class.column_headers if model_class.respond_to?(:column_headers)
54
- return ['to_s'] unless model_class.respond_to?(:content_columns)
55
- ['id'] + model_class.content_columns.collect{|c| c.name }
56
- end
57
-
58
- def resource_whitelist
59
- raise "RowsController requires private method 'resource_whitelist' in controller <#{params[:controller]}>"
60
- end
61
-
62
- # Never trust parameters from the scary internet, only allow the white list through.
63
- def resource_params
64
- permits = resource_whitelist
65
- if params.respond_to?(:require)
66
- params.require(model_symbol).permit(permits)
67
- else
68
- pars = params[model_symbol] || {}
69
- pars.keys.each { |x|
70
- x = x.to_sym
71
- unless permits.include?(x) || permits.include?({x => []})
72
- pars.delete(x)
73
- p "** WARNING: model <#{model_name}> dropping params <#{x}>"
74
- end
75
- }
76
- pars
77
- end
78
- end
79
-
80
- end
@@ -1,20 +0,0 @@
1
- module Rows::Utils
2
-
3
- # formatting
4
- def resource_format(x)
5
- return '--'.html_safe if x.nil?
6
- bool = x.class == Time || x.class == Date || x.class == DateTime ||
7
- x.class == ActiveSupport::TimeWithZone
8
- return x.strftime('%d.%m.%Y').html_safe if bool
9
- # return I18n.l(x) if bool
10
- # return x.to_s.html_safe if x.class == Fixnum
11
- return x.to_s.html_safe if x.kind_of?(Integer)
12
- return 'X'.html_safe if x.class == TrueClass
13
- return '&ensp;'.html_safe if x.class == FalseClass
14
- return x.call if x.class == Proc
15
- return '---'.html_safe if x.empty?
16
- str = x.to_s
17
- return str.gsub(/\r*\n/, '<br/>')
18
- end
19
-
20
- end
@@ -1,8 +0,0 @@
1
- require 'rows/engine'
2
-
3
- module Rows
4
- end
5
-
6
- I18n.load_path << File.expand_path('../rows/locales/en.yml', __FILE__)
7
- I18n.load_path << File.expand_path('../rows/locales/de.yml', __FILE__)
8
- I18n.reload!