facades 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.rbenv-gemsets +1 -0
- data/.rvmrc +1 -0
- data/.travis.yml +6 -0
- data/Gemfile +12 -0
- data/Guardfile +19 -0
- data/README.md +115 -101
- data/Rakefile +8 -0
- data/app/assets/javascripts/facades/debug/grid.js +0 -0
- data/app/helpers/facades_helper.rb +1 -0
- data/config.ru +7 -0
- data/facades.gemspec +9 -2
- data/lib/facades/helpers/layout.rb +36 -73
- data/lib/facades/helpers/navigation.rb +182 -110
- data/lib/facades/helpers/{elements.rb → notifications.rb} +9 -36
- data/lib/facades/helpers.rb +6 -17
- data/lib/facades/patterns/tabs.rb +75 -0
- data/lib/facades/patterns.rb +7 -0
- data/lib/facades/{sass_ext → sass_extensions}/color.rb +5 -13
- data/lib/facades/sass_extensions/conversions.rb +27 -0
- data/lib/facades/sass_extensions/functions.rb +84 -0
- data/lib/facades/sass_extensions/icons.rb +66 -0
- data/lib/facades/sass_extensions.rb +21 -0
- data/lib/facades/support/compass/project/MIT-LICENSE.txt +20 -0
- data/lib/facades/support/compass/project/humans.txt +8 -0
- data/lib/facades/support/compass/project/index.html +45 -0
- data/lib/facades/support/compass/project/manifest.rb +18 -0
- data/lib/facades/support/compass/project/robots.txt +4 -0
- data/lib/facades/support/compass.rb +9 -0
- data/lib/facades/support/rails.rb +12 -15
- data/lib/facades/support/simple_form.rb +32 -0
- data/lib/facades/version.rb +1 -1
- data/lib/facades.rb +21 -44
- data/spec/internal/app/helpers/application_helper.rb +3 -0
- data/spec/internal/app/views/navigation/_multi_list.html.erb +11 -0
- data/spec/internal/app/views/navigation/_multi_option_list.html.erb +14 -0
- data/spec/internal/app/views/navigation/_single_list.html.erb +9 -0
- data/spec/internal/config/database.yml +3 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +3 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/spec_helper.rb +16 -6
- data/spec/unit/helpers/layout_spec.rb +4 -0
- data/spec/unit/helpers/navigation_spec.rb +384 -0
- data/spec/unit/helpers/notifications_spec.rb +4 -0
- data/spec/unit/patterns/tabs_spec.rb +58 -0
- data/src/icons/facades.yml +105 -0
- data/src/icons/font-awesome.yml +210 -0
- data/src/scss/facades/_buttons.scss +10 -0
- data/src/scss/facades/_config.scss +99 -0
- data/src/scss/facades/_debug.scss +8 -0
- data/src/scss/facades/_forms.scss +228 -0
- data/src/scss/facades/_global.scss +104 -0
- data/src/scss/facades/_icons.scss +61 -0
- data/src/scss/facades/_mixins.scss +115 -0
- data/src/scss/facades/_mobile.scss +3 -0
- data/src/scss/facades/_setup.scss +191 -0
- data/src/scss/facades/_typography.scss +220 -0
- data/src/scss/facades/buttons/_glossy.scss +29 -0
- data/src/scss/facades/buttons/_gradient.scss +36 -0
- data/src/scss/facades/buttons/_shared.scss +33 -0
- data/src/scss/facades/buttons/_simple.scss +28 -0
- data/src/scss/facades/icons/_classes.scss +37 -0
- data/src/scss/facades/icons/_legacy.scss +27 -0
- data/src/scss/facades/layout/_lists.scss +43 -0
- data/src/scss/facades/mixins/_gradients.scss +30 -0
- data/src/scss/facades/mixins/_rhythm.scss +37 -0
- data/src/scss/facades/mobile/_buttons.scss +97 -0
- data/src/scss/facades/mobile/_config.scss +30 -0
- data/src/scss/facades/mobile/_global.scss +81 -0
- data/src/scss/facades/mobile/_mixins.scss +49 -0
- data/src/scss/facades/mobile/_setup.scss +50 -0
- data/src/scss/facades/mobile/patterns/_navbar.scss +21 -0
- data/src/scss/facades/mobile/patterns/_panel.scss +37 -0
- data/src/scss/facades/mobile/patterns/_stage.scss +20 -0
- data/src/scss/facades/mobile/patterns/_toolbar.scss +25 -0
- data/src/scss/facades/mobile/themes/_apple.scss +17 -0
- data/src/scss/facades/patterns/_labels.scss +50 -0
- data/src/scss/facades/patterns/_navbar.scss +4 -0
- data/src/scss/facades/patterns/_notifications.scss +82 -0
- data/src/scss/facades/patterns/_pagination.scss +4 -0
- data/src/scss/facades/patterns/_pills.scss +50 -0
- data/src/scss/facades/patterns/_tabs.scss +83 -0
- data/src/scss/facades/patterns/_twipsy.scss +84 -0
- data/src/scss/facades/typography/_tables.scss +95 -0
- metadata +201 -58
- data/app/views/facades/_pagination.html.erb +0 -20
- data/lib/facades/builders/form/base.rb +0 -212
- data/lib/facades/builders/form/elements.rb +0 -112
- data/lib/facades/builders/form/helper.rb +0 -29
- data/lib/facades/builders/form.rb +0 -22
- data/lib/facades/builders/sprite.rb +0 -50
- data/lib/facades/builders/table.rb +0 -76
- data/lib/facades/debug/html.rb +0 -6
- data/lib/facades/helpers/builders.rb +0 -24
- data/lib/facades/helpers/mobile.rb +0 -57
- data/lib/facades/helpers/pagination.rb +0 -83
- data/lib/facades/helpers/utility.rb +0 -31
- data/lib/facades/sass_ext/form_elements.rb +0 -52
- data/lib/facades/sass_ext/funcs.rb +0 -33
- data/lib/facades/sass_ext.rb +0 -14
- data/lib/facades/stylesheets/facades/_common.scss +0 -7
- data/lib/facades/stylesheets/facades/_css3.scss +0 -93
- data/lib/facades/stylesheets/facades/_layout.scss +0 -5
- data/lib/facades/stylesheets/facades/_normalize.scss +0 -5
- data/lib/facades/stylesheets/facades/_setup.scss +0 -104
- data/lib/facades/stylesheets/facades/_typography.scss +0 -2
- data/lib/facades/stylesheets/facades/_ui.scss +0 -3
- data/lib/facades/stylesheets/facades/_utilities.scss +0 -32
- data/lib/facades/stylesheets/facades/layout/_dropdown-list.scss +0 -7
- data/lib/facades/stylesheets/facades/layout/_forms.scss +0 -53
- data/lib/facades/stylesheets/facades/layout/_grid.scss +0 -49
- data/lib/facades/stylesheets/facades/layout/_responsive_grid.scss +0 -164
- data/lib/facades/stylesheets/facades/setup/_forms.scss +0 -284
- data/lib/facades/stylesheets/facades/setup/_ie.scss +0 -12
- data/lib/facades/stylesheets/facades/setup/_reset.scss +0 -255
- data/lib/facades/stylesheets/facades/typography/_baseline.scss +0 -91
- data/lib/facades/stylesheets/facades/typography/_lists.scss +0 -34
- data/lib/facades/stylesheets/facades/typography/_shadow.scss +0 -8
- data/lib/facades/stylesheets/facades/ui/_buttons.scss +0 -34
- data/lib/facades/stylesheets/facades/ui/_flash-messages.scss +0 -29
- data/lib/facades/stylesheets/facades/ui/_tabbed.scss +0 -5
- data/lib/facades/stylesheets/facades/ui/_tool-tip.scss +0 -44
- data/lib/facades/stylesheets/facades/utilities/_clearfix.scss +0 -20
- data/lib/facades/stylesheets/facades/utilities/_color.scss +0 -7
- data/lib/facades/stylesheets/facades/utilities/_cursors.scss +0 -4
- data/lib/facades/support/serve.rb +0 -17
- data/lib/facades/support/tipsy.rb +0 -17
- data/spec/facades/helpers/elements_spec.rb +0 -86
- data/spec/facades/helpers/layout_helpers_spec.rb +0 -5
- data/spec/facades/helpers/navigation_spec.rb +0 -107
@@ -1,107 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Facades::Helpers::Navigation, :type => :helper do
|
4
|
-
|
5
|
-
module HelperMethods
|
6
|
-
def stub_path(path)
|
7
|
-
before do
|
8
|
-
helper.controller.request.stubs(:path).returns(path)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
extend HelperMethods
|
13
|
-
|
14
|
-
def link(*args)
|
15
|
-
resp = helper.nav_link(*['test link', '/home'].concat(args).flatten).to_html
|
16
|
-
resp.stubs(:classes).returns((resp.first('a')[:class] || []))
|
17
|
-
resp.stubs(:wrapper).returns(resp.first('li'))
|
18
|
-
resp.stubs(:wrapper_classes).returns((resp.first('li')[:class] || []))
|
19
|
-
resp
|
20
|
-
end
|
21
|
-
|
22
|
-
describe '.nav_link' do
|
23
|
-
|
24
|
-
subject{ link }
|
25
|
-
|
26
|
-
it { should have_selector('a') }
|
27
|
-
it { should have_selector('li') }
|
28
|
-
|
29
|
-
describe 'its class attribute' do
|
30
|
-
|
31
|
-
subject{ link.classes }
|
32
|
-
|
33
|
-
context 'when the current path' do
|
34
|
-
context 'does not match the link path' do
|
35
|
-
stub_path('/nothing')
|
36
|
-
|
37
|
-
it { should_not include("on") }
|
38
|
-
end
|
39
|
-
context 'matches the link path' do
|
40
|
-
stub_path('/home')
|
41
|
-
|
42
|
-
it { should include("on") }
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
context 'when the current path is a sub-path' do
|
47
|
-
context 'and matches the root of the link path' do
|
48
|
-
stub_path('/home/child')
|
49
|
-
|
50
|
-
it { should include("on") }
|
51
|
-
end
|
52
|
-
context 'does not match the root of' do
|
53
|
-
stub_path('/nothing/child')
|
54
|
-
|
55
|
-
it { should_not include("on") }
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
context 'when passed a regex' do
|
60
|
-
|
61
|
-
subject{ link(:matcher => /nothing/i).classes }
|
62
|
-
|
63
|
-
context 'matching the request path' do
|
64
|
-
stub_path("/nothing")
|
65
|
-
|
66
|
-
it { should include("on") }
|
67
|
-
end
|
68
|
-
context 'not matching the request path' do
|
69
|
-
stub_path("/massive-fail")
|
70
|
-
|
71
|
-
it { should_not include("on") }
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
context 'when passed a proc returning true' do
|
76
|
-
|
77
|
-
subject{ link(:proc => lambda{ |path| true }).classes }
|
78
|
-
|
79
|
-
it { should include('on') }
|
80
|
-
end
|
81
|
-
|
82
|
-
context 'when passed a proc returning false' do
|
83
|
-
|
84
|
-
subject{ link(:proc => lambda{ |path| false }).classes }
|
85
|
-
|
86
|
-
it { should_not include('on') }
|
87
|
-
end
|
88
|
-
|
89
|
-
context 'with a passed class attribute' do
|
90
|
-
describe 'the link' do
|
91
|
-
|
92
|
-
subject{ link(:class => 'existing_class', :proc => lambda{ |path| true }).classes }
|
93
|
-
|
94
|
-
it { should include('existing_class') }
|
95
|
-
end
|
96
|
-
|
97
|
-
describe 'the wrapper' do
|
98
|
-
|
99
|
-
subject{ link(:wrapper => { :class => 'existing_class' }, :proc => lambda{ |path| true }).wrapper_classes }
|
100
|
-
|
101
|
-
it { should include('existing_class') }
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
107
|
-
end
|