table_me 0.0.2 → 0.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.
- data/lib/table_me/filter.rb +4 -0
- data/lib/table_me/table_for_helper/table_for_helper.rb +3 -2
- data/lib/table_me/table_for_presenter.rb +14 -7
- data/lib/table_me/table_me_helper/table_me_helper.rb +3 -0
- data/lib/table_me/table_me_presenter.rb +14 -19
- data/lib/table_me/version.rb +1 -1
- metadata +15 -15
data/lib/table_me/filter.rb
CHANGED
@@ -58,8 +58,9 @@ require_relative '../table_for_presenter'
|
|
58
58
|
|
59
59
|
module TableMe
|
60
60
|
module TableForHelper
|
61
|
-
def table_for(model,options = {}, &block)
|
62
|
-
|
61
|
+
def table_for(model, options = {}, &block)
|
62
|
+
|
63
|
+
table_for_presenter = TableForPresenter.new(model, @table_me[model],options,&block)
|
63
64
|
table_for_presenter.build_table
|
64
65
|
end
|
65
66
|
|
@@ -71,15 +71,17 @@ module TableMe
|
|
71
71
|
attr_accessor :name, :options
|
72
72
|
attr_reader :data
|
73
73
|
|
74
|
-
def initialize table_name, options = {}, &block
|
75
|
-
|
76
|
-
|
74
|
+
def initialize table_name, table_me_presenter, options = {}, &block
|
75
|
+
@table_me_presenter = table_me_presenter
|
76
|
+
|
77
|
+
self.options = ActiveSupport::HashWithIndifferentAccess.new(options.merge(@table_me_presenter.options))
|
77
78
|
self.name = table_name
|
78
79
|
@block = block
|
79
80
|
|
80
81
|
# required to get capture to work with haml
|
81
82
|
init_haml_helpers if defined?(Haml)
|
82
83
|
|
84
|
+
setup_classes
|
83
85
|
process_data_attributes
|
84
86
|
end
|
85
87
|
|
@@ -110,20 +112,25 @@ module TableMe
|
|
110
112
|
# of the class variables in the controller and view, but there has to be a better way to do it.
|
111
113
|
# TODO decouple this and options below
|
112
114
|
def data
|
113
|
-
|
115
|
+
@table_me_presenter.data
|
114
116
|
end
|
115
117
|
|
116
118
|
|
117
119
|
# same as data above, only with table options. Ideally this needs to be a value object instead
|
118
120
|
# of just a hash. TODO use a value object instead of a hash, see table_vo.rb
|
119
|
-
def options
|
120
|
-
|
121
|
-
end
|
121
|
+
# def options
|
122
|
+
# @table_me_presenter.options
|
123
|
+
# end
|
122
124
|
|
123
125
|
|
124
126
|
private
|
125
127
|
|
126
128
|
|
129
|
+
def setup_classes
|
130
|
+
# clear the filter saved to class
|
131
|
+
TableMe::Filter.init
|
132
|
+
end
|
133
|
+
|
127
134
|
# create table filters if they exist
|
128
135
|
def table_filters
|
129
136
|
<<-HTML if table_builder.filters
|
@@ -19,29 +19,26 @@ module TableMe
|
|
19
19
|
attr_accessor :params, :name
|
20
20
|
attr_reader :data, :options
|
21
21
|
|
22
|
-
class << self
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
|
33
|
-
@@
|
22
|
+
# class << self
|
23
|
+
# # These class variables may need to be cleared and data handled differently
|
24
|
+
# def data
|
25
|
+
# @@data
|
26
|
+
# end
|
27
|
+
|
28
|
+
# def options
|
29
|
+
# @@options
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
|
33
|
+
# @@data = {}
|
34
|
+
# @@options = {}
|
34
35
|
|
35
36
|
def initialize model, options = {}, params = {}
|
36
|
-
# this was more of a patch for the code. I need to go back through and normalize all
|
37
|
-
# the hash access so a normal has can be used with confidence
|
38
|
-
# TODO normalize hash access to strings or symbols
|
39
37
|
@options = ActiveSupport::HashWithIndifferentAccess.new(options)
|
40
38
|
|
41
39
|
set_defaults_for model
|
42
40
|
parse_params_for params
|
43
41
|
get_data_for model
|
44
|
-
@@options[self.name] = @options
|
45
42
|
end
|
46
43
|
|
47
44
|
# parse the params into an options hash that we can use
|
@@ -62,9 +59,7 @@ module TableMe
|
|
62
59
|
def get_data_for model
|
63
60
|
model = apply_search_to(model)
|
64
61
|
|
65
|
-
|
66
|
-
.offset(start_item)
|
67
|
-
.order(options[:order])
|
62
|
+
@data = model.limit(options[:per_page]).offset(start_item).order(options[:order])
|
68
63
|
|
69
64
|
options[:total_count] = model.count
|
70
65
|
options[:page_total] = (options[:total_count] / options[:per_page].to_f).ceil
|
data/lib/table_me/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: table_me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-03-28 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70190781557660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70190781557660
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: jquery-rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &70190781549020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70190781549020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sqlite3
|
38
|
-
requirement: &
|
38
|
+
requirement: &70190781548180 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70190781548180
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec-rails
|
49
|
-
requirement: &
|
49
|
+
requirement: &70190781547760 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70190781547760
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: capybara
|
60
|
-
requirement: &
|
60
|
+
requirement: &70190781547340 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70190781547340
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: factory_girl_rails
|
71
|
-
requirement: &
|
71
|
+
requirement: &70190781546860 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70190781546860
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: pry
|
82
|
-
requirement: &
|
82
|
+
requirement: &70190781546420 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70190781546420
|
91
91
|
description: Widget table gem for Rails 3.1.3+
|
92
92
|
email:
|
93
93
|
- adamrensel@gmail.com
|