effective_style_guide 1.5.5 → 2.0.0
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.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +13 -9
- data/app/controllers/effective/style_guide_controller.rb +17 -2
- data/app/models/effective/style_guide.rb +14 -2
- data/app/views/effective/style_guide/_alerts.html +45 -0
- data/app/views/effective/style_guide/_badges.html +45 -0
- data/app/views/effective/style_guide/_breadcrumbs.html +20 -0
- data/app/views/effective/style_guide/_buttons.html +87 -0
- data/app/views/effective/style_guide/_buttons_group.html +90 -0
- data/app/views/effective/style_guide/_cards.html +496 -0
- data/app/views/effective/style_guide/_collapse.html +85 -0
- data/app/views/effective/style_guide/_dropdowns.html +177 -0
- data/app/views/effective/style_guide/_form_with.html.haml +77 -0
- data/app/views/effective/style_guide/_input_groups.html +300 -0
- data/app/views/effective/style_guide/_jumbotrons.html +18 -0
- data/app/views/effective/style_guide/_list_groups.html +156 -0
- data/app/views/effective/style_guide/_modals.html +81 -0
- data/app/views/effective/style_guide/_navs.html +204 -0
- data/app/views/effective/style_guide/_pagination.html +126 -0
- data/app/views/effective/style_guide/_progress.html +120 -0
- data/app/views/effective/style_guide/show.html.haml +14 -80
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_alerts.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_breadcrumbs.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_buttons.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_form_horizontal.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_form_inline.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_form_vertical.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_jumbotron.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_labels.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_list_groups.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_modals.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_navs.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_pagination.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_panels.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_progress_bars.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_tables.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_thumbnails.html.haml +3 -2
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_typography.html.haml +0 -0
- data/app/views/effective/{style_guide → style_guide_bootstrap3}/_wells.html.haml +0 -0
- data/app/views/effective/style_guide_bootstrap3/show.html.haml +89 -0
- data/config/effective_style_guide.rb +14 -14
- data/config/routes.rb +2 -3
- data/lib/effective_style_guide.rb +20 -6
- data/lib/effective_style_guide/version.rb +1 -1
- metadata +41 -56
- data/Rakefile +0 -20
- data/app/datatables/effective_style_guide_datatable.rb +0 -45
- data/app/models/effective/datatables/style_guide.rb +0 -55
- data/app/views/effective/style_guide/_effective_datatable.html.haml +0 -9
@@ -2,25 +2,25 @@ EffectiveStyleGuide.setup do |config|
|
|
2
2
|
# Authorization Method
|
3
3
|
#
|
4
4
|
# This method is called by all controller actions with the appropriate action and resource
|
5
|
-
# If
|
5
|
+
# If it raises an exception or returns false, an Effective::AccessDenied Error will be raised
|
6
6
|
#
|
7
|
-
# Use via Proc
|
8
|
-
#
|
7
|
+
# Use via Proc:
|
8
|
+
# Proc.new { |controller, action, resource| authorize!(action, resource) } # CanCan
|
9
|
+
# Proc.new { |controller, action, resource| can?(action, resource) } # CanCan with skip_authorization_check
|
10
|
+
# Proc.new { |controller, action, resource| authorize "#{action}?", resource } # Pundit
|
11
|
+
# Proc.new { |controller, action, resource| current_user.is?(:admin) } # Custom logic
|
9
12
|
#
|
10
|
-
# Use via
|
11
|
-
# config.authorization_method =
|
12
|
-
#
|
13
|
-
# And then in your application_controller.rb:
|
13
|
+
# Use via Boolean:
|
14
|
+
# config.authorization_method = true # Always authorized
|
15
|
+
# config.authorization_method = false # Always unauthorized
|
14
16
|
#
|
15
|
-
#
|
16
|
-
#
|
17
|
+
# Use via Method (probably in your application_controller.rb):
|
18
|
+
# config.authorization_method = :my_authorization_method
|
19
|
+
# def my_authorization_method(resource, action)
|
20
|
+
# true
|
17
21
|
# end
|
18
|
-
#
|
19
|
-
# Or disable the check completely:
|
20
|
-
# config.authorization_method = false
|
21
22
|
config.authorization_method = Proc.new { |controller, action, resource| authorize!(action, resource) } # CanCanCan
|
22
23
|
|
23
|
-
#
|
24
|
+
# Layout Settings
|
24
25
|
config.layout = 'application' # All EffectiveStyleGuide controllers will use this layout
|
25
|
-
|
26
26
|
end
|
data/config/routes.rb
CHANGED
@@ -4,8 +4,7 @@ end
|
|
4
4
|
|
5
5
|
EffectiveStyleGuide::Engine.routes.draw do
|
6
6
|
scope :module => 'effective' do
|
7
|
-
match '/styleguide', :
|
8
|
-
match '/
|
9
|
-
match '/style_guide', :to => 'style_guide#show', :via => [:get]
|
7
|
+
match '/styleguide', to: 'style_guide#show', via: [:get, :post, :patch], as: 'style_guide'
|
8
|
+
match '/styleguide/bootstrap3', to: 'style_guide#bootstrap3', via: :get
|
10
9
|
end
|
11
10
|
end
|
@@ -12,10 +12,20 @@ module EffectiveStyleGuide
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.authorized?(controller, action, resource)
|
15
|
-
if
|
16
|
-
|
15
|
+
@_exceptions ||= [Effective::AccessDenied, (CanCan::AccessDenied if defined?(CanCan)), (Pundit::NotAuthorizedError if defined?(Pundit))].compact
|
16
|
+
|
17
|
+
return !!authorization_method unless authorization_method.respond_to?(:call)
|
18
|
+
controller = controller.controller if controller.respond_to?(:controller)
|
19
|
+
|
20
|
+
begin
|
21
|
+
!!(controller || self).instance_exec((controller || self), action, resource, &authorization_method)
|
22
|
+
rescue *@_exceptions
|
23
|
+
false
|
17
24
|
end
|
18
|
-
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.authorize!(controller, action, resource)
|
28
|
+
raise Effective::AccessDenied unless authorized?(controller, action, resource)
|
19
29
|
end
|
20
30
|
|
21
31
|
def self.colors
|
@@ -23,14 +33,18 @@ module EffectiveStyleGuide
|
|
23
33
|
end
|
24
34
|
|
25
35
|
def self.foods
|
36
|
+
['bacon', 'eggs', 'hash browns']
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.drinks
|
26
40
|
['Coffee', 'Tea', 'Soda']
|
27
41
|
end
|
28
42
|
|
29
43
|
def self.grouped_colors
|
30
44
|
{
|
31
|
-
'Top' => [['
|
32
|
-
'Middle' => [['
|
33
|
-
'Bottom' => [['
|
45
|
+
'Top' => [['red', 'red'], ['orange', 'orange'], ['yellow', 'yellow']],
|
46
|
+
'Middle' => [['green', 'green'], ['blue', 'blue'], ['indigo', 'indigo']],
|
47
|
+
'Bottom' => [['violet', 'violet']]
|
34
48
|
}
|
35
49
|
end
|
36
50
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_style_guide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: coffee-rails
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: faker
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,22 +38,8 @@ dependencies:
|
|
52
38
|
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '0'
|
55
|
-
|
56
|
-
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
description: Ensure that your custom CSS theme looks good with all Twitter Bootstrap3
|
70
|
-
html components.
|
41
|
+
description: Ensure that your custom CSS theme looks good with all Twitter Bootstrap4
|
42
|
+
(and 3) html components.
|
71
43
|
email:
|
72
44
|
- info@codeandeffect.com
|
73
45
|
executables: []
|
@@ -76,32 +48,45 @@ extra_rdoc_files: []
|
|
76
48
|
files:
|
77
49
|
- MIT-LICENSE
|
78
50
|
- README.md
|
79
|
-
- Rakefile
|
80
51
|
- app/controllers/effective/style_guide_controller.rb
|
81
|
-
- app/datatables/effective_style_guide_datatable.rb
|
82
52
|
- app/models/effective/access_denied.rb
|
83
|
-
- app/models/effective/datatables/style_guide.rb
|
84
53
|
- app/models/effective/style_guide.rb
|
85
|
-
- app/views/effective/style_guide/_alerts.html
|
86
|
-
- app/views/effective/style_guide/
|
87
|
-
- app/views/effective/style_guide/
|
88
|
-
- app/views/effective/style_guide/
|
89
|
-
- app/views/effective/style_guide/
|
90
|
-
- app/views/effective/style_guide/
|
91
|
-
- app/views/effective/style_guide/
|
92
|
-
- app/views/effective/style_guide/
|
93
|
-
- app/views/effective/style_guide/
|
94
|
-
- app/views/effective/style_guide/
|
95
|
-
- app/views/effective/style_guide/
|
96
|
-
- app/views/effective/style_guide/
|
97
|
-
- app/views/effective/style_guide/
|
98
|
-
- app/views/effective/style_guide/
|
99
|
-
- app/views/effective/style_guide/
|
100
|
-
- app/views/effective/style_guide/
|
101
|
-
- app/views/effective/style_guide/_thumbnails.html.haml
|
102
|
-
- app/views/effective/style_guide/_typography.html.haml
|
103
|
-
- app/views/effective/style_guide/_wells.html.haml
|
54
|
+
- app/views/effective/style_guide/_alerts.html
|
55
|
+
- app/views/effective/style_guide/_badges.html
|
56
|
+
- app/views/effective/style_guide/_breadcrumbs.html
|
57
|
+
- app/views/effective/style_guide/_buttons.html
|
58
|
+
- app/views/effective/style_guide/_buttons_group.html
|
59
|
+
- app/views/effective/style_guide/_cards.html
|
60
|
+
- app/views/effective/style_guide/_collapse.html
|
61
|
+
- app/views/effective/style_guide/_dropdowns.html
|
62
|
+
- app/views/effective/style_guide/_form_with.html.haml
|
63
|
+
- app/views/effective/style_guide/_input_groups.html
|
64
|
+
- app/views/effective/style_guide/_jumbotrons.html
|
65
|
+
- app/views/effective/style_guide/_list_groups.html
|
66
|
+
- app/views/effective/style_guide/_modals.html
|
67
|
+
- app/views/effective/style_guide/_navs.html
|
68
|
+
- app/views/effective/style_guide/_pagination.html
|
69
|
+
- app/views/effective/style_guide/_progress.html
|
104
70
|
- app/views/effective/style_guide/show.html.haml
|
71
|
+
- app/views/effective/style_guide_bootstrap3/_alerts.html.haml
|
72
|
+
- app/views/effective/style_guide_bootstrap3/_breadcrumbs.html.haml
|
73
|
+
- app/views/effective/style_guide_bootstrap3/_buttons.html.haml
|
74
|
+
- app/views/effective/style_guide_bootstrap3/_form_horizontal.html.haml
|
75
|
+
- app/views/effective/style_guide_bootstrap3/_form_inline.html.haml
|
76
|
+
- app/views/effective/style_guide_bootstrap3/_form_vertical.html.haml
|
77
|
+
- app/views/effective/style_guide_bootstrap3/_jumbotron.html.haml
|
78
|
+
- app/views/effective/style_guide_bootstrap3/_labels.html.haml
|
79
|
+
- app/views/effective/style_guide_bootstrap3/_list_groups.html.haml
|
80
|
+
- app/views/effective/style_guide_bootstrap3/_modals.html.haml
|
81
|
+
- app/views/effective/style_guide_bootstrap3/_navs.html.haml
|
82
|
+
- app/views/effective/style_guide_bootstrap3/_pagination.html.haml
|
83
|
+
- app/views/effective/style_guide_bootstrap3/_panels.html.haml
|
84
|
+
- app/views/effective/style_guide_bootstrap3/_progress_bars.html.haml
|
85
|
+
- app/views/effective/style_guide_bootstrap3/_tables.html.haml
|
86
|
+
- app/views/effective/style_guide_bootstrap3/_thumbnails.html.haml
|
87
|
+
- app/views/effective/style_guide_bootstrap3/_typography.html.haml
|
88
|
+
- app/views/effective/style_guide_bootstrap3/_wells.html.haml
|
89
|
+
- app/views/effective/style_guide_bootstrap3/show.html.haml
|
105
90
|
- config/effective_style_guide.rb
|
106
91
|
- config/routes.rb
|
107
92
|
- lib/effective_style_guide.rb
|
@@ -132,6 +117,6 @@ rubyforge_project:
|
|
132
117
|
rubygems_version: 2.4.5.1
|
133
118
|
signing_key:
|
134
119
|
specification_version: 4
|
135
|
-
summary: Ensure that your custom CSS theme looks good with all Twitter
|
136
|
-
html components.
|
120
|
+
summary: Ensure that your custom CSS theme looks good with all Twitter Bootstrap4
|
121
|
+
(and 3) html components.
|
137
122
|
test_files: []
|
data/Rakefile
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
begin
|
3
|
-
require 'bundler/setup'
|
4
|
-
rescue LoadError
|
5
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
-
end
|
7
|
-
|
8
|
-
# Testing tasks
|
9
|
-
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
10
|
-
load 'rails/tasks/engine.rake'
|
11
|
-
|
12
|
-
Bundler::GemHelper.install_tasks
|
13
|
-
|
14
|
-
require 'rspec/core'
|
15
|
-
require 'rspec/core/rake_task'
|
16
|
-
|
17
|
-
desc "Run all specs in spec directory (excluding plugin specs)"
|
18
|
-
RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
|
19
|
-
|
20
|
-
task :default => :spec
|
@@ -1,45 +0,0 @@
|
|
1
|
-
if defined?(EffectiveDatatables) && Gem::Version.new(EffectiveDatatables::VERSION) >= Gem::Version.new('3.0')
|
2
|
-
class EffectiveStyleGuideDatatable < Effective::Datatable
|
3
|
-
|
4
|
-
datatable do
|
5
|
-
col :id
|
6
|
-
col :material, search: { collection: ['Stainless Steel', 'Copper', 'Cast Iron', 'Composite'] }
|
7
|
-
col :bowl, search: { collection: ['Single Bowl', 'Double Bowl', 'Triple Bowl'] }
|
8
|
-
col :name
|
9
|
-
|
10
|
-
actions_col show: false, edit: false, destroy: false do
|
11
|
-
[link_to('View', '#'), link_to('Edit', '#')].join(' - ').html_safe
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
collection do
|
16
|
-
[
|
17
|
-
[1, 'Stainless Steel', 'Single Bowl', 'KOHLER Staccato'],
|
18
|
-
[2, 'Stainless Steel', 'Double Bowl', 'KOHLER Vault Undercounter'],
|
19
|
-
[3, 'Stainless Steel', 'Triple Bowl', 'KRAUS All-In-One'],
|
20
|
-
[4, 'Stainless Steel', 'Single Bowl', 'KOHLER Vault Dual Mount'],
|
21
|
-
[5, 'Stainless Steel', 'Single Bowl', 'KRAUS All-In-One Undermount'],
|
22
|
-
[6, 'Stainless Steel', 'Double Bowl', 'Glacier Bay All-in-One'],
|
23
|
-
[7, 'Stainless Steel', 'Single Bowl', 'Elkay Neptune'],
|
24
|
-
[8, 'Copper', 'Single Bowl', 'ECOSINKS Apron Front Dual Mount'],
|
25
|
-
[9, 'Copper', 'Double Bowl', 'ECOSINKS Dual Mount Front Hammered'],
|
26
|
-
[10, 'Copper', 'Triple Bowl', 'Glarier Bay Undermount'],
|
27
|
-
[11, 'Copper', 'Single Bowl', 'Whitehaus Undermount'],
|
28
|
-
[12, 'Copper', 'Double Bowl', 'Belle Foret Apron Front'],
|
29
|
-
[13, 'Copper', 'Double Bowl', 'Pegasus Dual Mount'],
|
30
|
-
[14, 'Cast Iron', 'Double Bowl', 'KOHLER Whitehaven'],
|
31
|
-
[15, 'Cast Iron', 'Triple Bowl', 'KOHLER Hartland'],
|
32
|
-
[16, 'Cast Iron', 'Single Bowl', 'KOHLER Cape Dory Undercounter'],
|
33
|
-
[17, 'Cast Iron', 'Double Bowl', 'KOLER Bakersfield'],
|
34
|
-
[18, 'Cast Iron', 'Double Bowl', 'American Standard Offset'],
|
35
|
-
[19, 'Cast Iron', 'Single Bowl', 'Brookfield Top'],
|
36
|
-
[20, 'Composite', 'Single Bowl', 'Blanco Diamond Undermount'],
|
37
|
-
[21, 'Composite', 'Double Bowl', 'Mont Blanc Waterbrook'],
|
38
|
-
[22, 'Composite', 'Triple Bowl', 'Pegasus Triple Mount'],
|
39
|
-
[23, 'Composite', 'Single Bowl', 'Swanstone Dual Mount']
|
40
|
-
]
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
@@ -1,55 +0,0 @@
|
|
1
|
-
if defined?(EffectiveDatatables) && Gem::Version.new(EffectiveDatatables::VERSION) < Gem::Version.new('3.0')
|
2
|
-
module Effective
|
3
|
-
module Datatables
|
4
|
-
class StyleGuide < Effective::Datatable
|
5
|
-
any_version = Proc.new do
|
6
|
-
array_column :id, :width => '10%'
|
7
|
-
array_column :material, :filter => {:type => :select, :values => ['Stainless Steel', 'Copper', 'Cast Iron', 'Composite']}
|
8
|
-
array_column :bowl, :filter => {:type => :select, :values => ['Single Bowl', 'Double Bowl', 'Triple Bowl']}
|
9
|
-
array_column :name
|
10
|
-
array_column :actions, :filter => false, :sortable => false do
|
11
|
-
[link_to('View', '#'), link_to('Edit', '#')].join(' - ').html_safe
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
require 'effective_datatables/version'
|
16
|
-
if Gem::Version.new(EffectiveDatatables::VERSION) >= Gem::Version.new('2.0')
|
17
|
-
datatable do
|
18
|
-
instance_eval &any_version
|
19
|
-
end
|
20
|
-
else
|
21
|
-
instance_eval &any_version
|
22
|
-
end
|
23
|
-
|
24
|
-
def collection
|
25
|
-
[
|
26
|
-
[1, 'Stainless Steel', 'Single Bowl', 'KOHLER Staccato'],
|
27
|
-
[2, 'Stainless Steel', 'Double Bowl', 'KOHLER Vault Undercounter'],
|
28
|
-
[3, 'Stainless Steel', 'Triple Bowl', 'KRAUS All-In-One'],
|
29
|
-
[4, 'Stainless Steel', 'Single Bowl', 'KOHLER Vault Dual Mount'],
|
30
|
-
[5, 'Stainless Steel', 'Single Bowl', 'KRAUS All-In-One Undermount'],
|
31
|
-
[6, 'Stainless Steel', 'Double Bowl', 'Glacier Bay All-in-One'],
|
32
|
-
[7, 'Stainless Steel', 'Single Bowl', 'Elkay Neptune'],
|
33
|
-
[8, 'Copper', 'Single Bowl', 'ECOSINKS Apron Front Dual Mount'],
|
34
|
-
[9, 'Copper', 'Double Bowl', 'ECOSINKS Dual Mount Front Hammered'],
|
35
|
-
[10, 'Copper', 'Triple Bowl', 'Glarier Bay Undermount'],
|
36
|
-
[11, 'Copper', 'Single Bowl', 'Whitehaus Undermount'],
|
37
|
-
[12, 'Copper', 'Double Bowl', 'Belle Foret Apron Front'],
|
38
|
-
[13, 'Copper', 'Double Bowl', 'Pegasus Dual Mount'],
|
39
|
-
[14, 'Cast Iron', 'Double Bowl', 'KOHLER Whitehaven'],
|
40
|
-
[15, 'Cast Iron', 'Triple Bowl', 'KOHLER Hartland'],
|
41
|
-
[16, 'Cast Iron', 'Single Bowl', 'KOHLER Cape Dory Undercounter'],
|
42
|
-
[17, 'Cast Iron', 'Double Bowl', 'KOLER Bakersfield'],
|
43
|
-
[18, 'Cast Iron', 'Double Bowl', 'American Standard Offset'],
|
44
|
-
[19, 'Cast Iron', 'Single Bowl', 'Brookfield Top'],
|
45
|
-
[20, 'Composite', 'Single Bowl', 'Blanco Diamond Undermount'],
|
46
|
-
[21, 'Composite', 'Double Bowl', 'Mont Blanc Waterbrook'],
|
47
|
-
[22, 'Composite', 'Triple Bowl', 'Pegasus Triple Mount'],
|
48
|
-
[23, 'Composite', 'Single Bowl', 'Swanstone Dual Mount']
|
49
|
-
]
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
%br
|
2
|
-
- if defined?(EffectiveDatatables)
|
3
|
-
- if Gem::Version.new(EffectiveDatatables::VERSION) < Gem::Version.new('3.0')
|
4
|
-
= render_datatable Effective::Datatables::StyleGuide.new()
|
5
|
-
- else
|
6
|
-
= render_datatable EffectiveStyleGuideDatatable.new()
|
7
|
-
|
8
|
-
- else
|
9
|
-
%p Please install the effective_datatables gem
|