css3-progress-bar-rails 0.0.1

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/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ *.swp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in css3-progress-bar-rails.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,201 @@
1
+ /* CSS3 Progress bars by Josh Sullivan
2
+ @jsullivandigs on Twitter
3
+ josh@dipperstove.com */
4
+
5
+ .bar_container {
6
+ margin: 0 auto;
7
+ padding: 5px;
8
+ height: 20px;
9
+ background: #a0a0a0;
10
+ -webkit-box-shadow: 0px 1px 1px 0px #f0f0f0;
11
+ -moz-box-shadow: 0px 1px 1px 0px #f0f0f0;
12
+ box-shadow: 0px 1px 0px 0px #f0f0f0;
13
+ }
14
+
15
+ .bar_mortice {
16
+ height: 20px;
17
+ background: #777;
18
+ -webkit-box-shadow: inset 0px 1px 2px 0px #333;
19
+ -moz-box-shadow: inset 0px 1px 2px 0px #333;
20
+ box-shadow: inset 0px 1px 2px 0px #333;
21
+ border-bottom: 1px solid #d0d0d0;
22
+ }
23
+
24
+ .progress {
25
+ height: 20px;
26
+ background: #FFF;
27
+ float: left;
28
+ background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
29
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e5e5e5));
30
+ background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%);
31
+ background: -o-linear-gradient(top, #ffffff 0%,#e5e5e5 100%);
32
+ background: -ms-linear-gradient(top, #ffffff 0%,#e5e5e5 100%);
33
+ background: linear-gradient(top, #ffffff 0%,#e5e5e5 100%);
34
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
35
+ border-top: 1px solid #fff;
36
+ border-bottom: 1px solid #999;
37
+ }
38
+
39
+ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
40
+ MINIS
41
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
42
+ .container_tiny {
43
+ margin: 0 auto;
44
+ padding: 3px;
45
+ height: 7px;
46
+ background: #a0a0a0;
47
+ -webkit-box-shadow: 0px 1px 1px 0px #f0f0f0;
48
+ -moz-box-shadow: 0px 1px 1px 0px #f0f0f0;
49
+ box-shadow: 0px 1px 0px 0px #f0f0f0;
50
+
51
+ }
52
+
53
+ .mortice_tiny {
54
+ height: 7px;
55
+ background: #777;
56
+ -webkit-box-shadow: inset 0px 1px 2px 0px #333;
57
+ -moz-box-shadow: inset 0px 1px 2px 0px #333;
58
+ box-shadow: inset 0px 1px 2px 0px #333;
59
+ border-bottom: 1px solid #d0d0d0;
60
+ }
61
+
62
+ .progress_tiny {
63
+ height: 7px;
64
+ border-bottom: none;
65
+ }
66
+
67
+
68
+ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
69
+ STYLES
70
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
71
+
72
+ .rounded_bar_container {
73
+ -webkit-border-radius: 10px;
74
+ -moz-border-radius: 10px;
75
+ border-radius: 10px;
76
+ }
77
+ .rounded {
78
+ -webkit-border-radius: 6px;
79
+ -moz-border-radius: 6px;
80
+ border-radius: 6px;
81
+ }
82
+
83
+ .rounded_bar_container_tiny {
84
+ -webkit-border-radius: 5px;
85
+ -moz-border-radius: 5px;
86
+ border-radius: 5px;
87
+ }
88
+ .rounded_tiny {
89
+ -webkit-border-radius: 2px;
90
+ -moz-border-radius: 2px;
91
+ border-radius: 2px;
92
+ }
93
+
94
+
95
+ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
96
+ COLORS
97
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
98
+
99
+ /* GREEN */
100
+
101
+ .green {
102
+ background: #AAFF00;
103
+ background: -moz-linear-gradient(top, #AAFF00 0%, #8c0 100%);
104
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#AAFF00), color-stop(100%,#8c0));
105
+ background: -webkit-linear-gradient(top, #AAFF00 0%,#8c0 100%);
106
+ background: -o-linear-gradient(top, #AAFF00 0%,#8c0 100%);
107
+ background: -ms-linear-gradient(top, #AAFF00 0%,#8c0 100%);
108
+ background: linear-gradient(top, #AAFF00 0%,#8c0 100%);
109
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#AAFF00', endColorstr='#8c0',GradientType=0 );
110
+ border-top: 1px solid #e8ffbb;
111
+ border-bottom: 1px solid #690;
112
+ }
113
+ .green_container {background: #690;}
114
+ .green_mortice {
115
+ background: #460;
116
+ border-bottom: 1px solid #8c0;
117
+ }
118
+
119
+
120
+ /* ORANGE */
121
+
122
+ .orange {
123
+ background: #FFAA00;
124
+ background: -moz-linear-gradient(top, #FFAA00 0%, #dd9300 100%);
125
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFAA00), color-stop(100%,#dd9300));
126
+ background: -webkit-linear-gradient(top, #FFAA00 0%,#dd9300 100%);
127
+ background: -o-linear-gradient(top, #FFAA00 0%,#dd9300 100%);
128
+ background: -ms-linear-gradient(top, #FFAA00 0%,#dd9300 100%);
129
+ background: linear-gradient(top, #FFAA00 0%,#dd9300 100%);
130
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFAA00', endColorstr='#dd9300',GradientType=0 );
131
+ border-top: 1px solid #ffd277;
132
+ border-bottom: 1px solid #960;
133
+ }
134
+ .orange_container {background: #960;}
135
+ .orange_mortice {
136
+ background: #640;
137
+ border-bottom: 1px solid #CC8800;
138
+ }
139
+
140
+
141
+ /* PINK */
142
+
143
+ .pink {
144
+ background: #FF00AA;
145
+ background: -moz-linear-gradient(top, #FF00AA 0%, #dd0093 100%);
146
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FF00AA), color-stop(100%,#dd0093));
147
+ background: -webkit-linear-gradient(top, #FF00AA 0%,#dd0093 100%);
148
+ background: -o-linear-gradient(top, #FF00AA 0%,#dd0093 100%);
149
+ background: -ms-linear-gradient(top, #FF00AA 0%,#dd0093 100%);
150
+ background: linear-gradient(top, #FF00AA 0%,#dd0093 100%);
151
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FF00AA', endColorstr='#dd0093',GradientType=0 );
152
+ border-top: 1px solid #f6c;
153
+ border-bottom: 1px solid #906;
154
+ }
155
+ .pink_container {background: #906;}
156
+ .pink_mortice {
157
+ background: #604;
158
+ border-bottom: 1px solid #c08;
159
+ }
160
+
161
+
162
+ /* PURPLE */
163
+
164
+ .purple {
165
+ background: #AA00FF;
166
+ background: -moz-linear-gradient(top, #AA00FF 0%, #9300dd 100%);
167
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#AA00FF), color-stop(100%,#9300dd));
168
+ background: -webkit-linear-gradient(top, #AA00FF 0%,#9300dd 100%);
169
+ background: -o-linear-gradient(top, #AA00FF 0%,#9300dd 100%);
170
+ background: -ms-linear-gradient(top, #AA00FF 0%,#9300dd 100%);
171
+ background: linear-gradient(top, #AA00FF 0%,#9300dd 100%);
172
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#AA00FF', endColorstr='#9300dd',GradientType=0 );
173
+ border-top: 1px solid #c655ff;
174
+ border-bottom: 1px solid #5b0088;
175
+ }
176
+ .purple_container {background: #609;}
177
+ .purple_mortice {
178
+ background: #406;
179
+ border-bottom: 1px solid #80c;
180
+ }
181
+
182
+
183
+ /* BLUE */
184
+
185
+ .blue {
186
+ background: #00AAFF;
187
+ background: -moz-linear-gradient(top, #00AAFF 0%, #0093dd 100%);
188
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00AAFF), color-stop(100%,#0093dd));
189
+ background: -webkit-linear-gradient(top, #00AAFF 0%,#0093dd 100%);
190
+ background: -o-linear-gradient(top, #00AAFF 0%,#0093dd 100%);
191
+ background: -ms-linear-gradient(top, #00AAFF 0%,#0093dd 100%);
192
+ background: linear-gradient(top, #00AAFF 0%,#0093dd 100%);
193
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00AAFF', endColorstr='#0093dd',GradientType=0 );
194
+ border-top: 1px solid #88d7ff;
195
+ border-bottom: 1px solid #069;
196
+ }
197
+ .blue_container {background: #069;}
198
+ .blue_mortice {
199
+ background: #046;
200
+ border-bottom: 1px solid #08c;
201
+ }
@@ -0,0 +1,87 @@
1
+ require 'action_view/helpers/tag_helper'
2
+ module ActionView
3
+ module Helpers
4
+ module Css3ProgressBars
5
+ extend ActiveSupport::Concern
6
+
7
+ include TagHelper
8
+
9
+ def progress_bar percentage, *opts
10
+ options = opts.extract_options!
11
+
12
+ container_classes = %w(bar_container)
13
+ bar_classes = %w(progress)
14
+ mortice_classes = %w(bar_mortice)
15
+
16
+ if options[:rounded] && options[:rounded] == true
17
+ container_classes << 'rounded_bar_container'
18
+ bar_classes << 'rounded'
19
+ mortice_classes << 'rounded'
20
+ end
21
+
22
+ if options[:color] && bar_colors.include?(options[:color])
23
+ container_classes << "#{options[:color]}_container"
24
+ bar_classes << options[:color]
25
+ mortice_classes << "#{options[:color]}_mortice"
26
+ end
27
+
28
+ if options[:tiny] && options[:tiny] == true
29
+ container_classes << 'container_tiny'
30
+ bar_classes << 'progress_tiny'
31
+ mortice_classes << 'mortice_tiny'
32
+ end
33
+
34
+ bar_html = bar_div(bar_classes, bar_style(percentage))
35
+ mortice_html = mortice_div(bar_html, mortice_classes)
36
+
37
+ content_tag :div, mortice_html, :class => container_classes.join(' ')
38
+ end
39
+
40
+ def combo_progress_bar *opts
41
+ options = opts.extract_options!
42
+
43
+ container_classes = %w(bar_container)
44
+ bar_classes = %w(progress)
45
+ mortice_classes = %w(bar_mortice)
46
+
47
+ if options[:rounded] && options[:rounded] == true
48
+ container_classes << 'rounded_bar_container'
49
+ bar_classes << 'rounded'
50
+ mortice_classes << 'rounded'
51
+ end
52
+
53
+ if options[:tiny] && options[:tiny] == true
54
+ container_classes << 'container_tiny'
55
+ bar_classes << 'progress_tiny'
56
+ mortice_classes << 'mortice_tiny'
57
+ end
58
+
59
+ bars = ''
60
+ options[:percentages][0..4].each_with_index do |p, i|
61
+ bars += bar_div((bar_classes << bar_colors[i]), bar_style(p))
62
+ end
63
+
64
+ mortice_html = mortice_div(bars, mortice_classes)
65
+ content_tag :div, mortice_html, :class => container_classes.join(' ')
66
+ end
67
+
68
+ protected
69
+ def bar_colors
70
+ %w(green orange pink blue purple)
71
+ end
72
+
73
+ def bar_style percentage
74
+ "width: #{percentage}%;"
75
+ end
76
+
77
+ def bar_div classes, style
78
+ content_tag :div, '', :style => style, :class => classes.join(' ')
79
+ end
80
+
81
+ def mortice_div bar_html, classes
82
+ content_tag :div, bar_html, :class => classes.join(' ')
83
+ end
84
+ end
85
+ end
86
+ end
87
+
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "css3-progress-bar-rails/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "css3-progress-bar-rails"
7
+ s.version = Css3::Progress::Bar::Rails::VERSION
8
+ s.authors = ["Nicholas Fine"]
9
+ s.email = ["nicholas.fine@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Integrates Josh Sullivan's CSS3 Progress Bars into Rails 3.1+ Projects.}
12
+ s.description = %q{Integrates Josh Sullivan's CSS3 Progress Bars into Rails and adds ActionView helpers for generation.}
13
+
14
+ s.rubyforge_project = "css3-progress-bar-rails"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ s.add_runtime_dependency "rails"
24
+ end
@@ -0,0 +1,12 @@
1
+ require "css3-progress-bar-rails/version"
2
+
3
+ module Css3
4
+ module Progress
5
+ module Bar
6
+ module Rails
7
+ class Engine < ::Rails::Engine
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ module Css3
2
+ module Progress
3
+ module Bar
4
+ module Rails
5
+ VERSION = "0.0.1"
6
+ end
7
+ end
8
+ end
9
+ end
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: css3-progress-bar-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nicholas Fine
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-02 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: &12704480 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *12704480
25
+ description: Integrates Josh Sullivan's CSS3 Progress Bars into Rails and adds ActionView
26
+ helpers for generation.
27
+ email:
28
+ - nicholas.fine@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - .gitignore
34
+ - Gemfile
35
+ - Rakefile
36
+ - app/assets/stylesheets/css3-progress-bar.css
37
+ - config/initializers/progress_bars.rb
38
+ - css3-progress-bar-rails.gemspec
39
+ - lib/css3-progress-bar-rails.rb
40
+ - lib/css3-progress-bar-rails/version.rb
41
+ homepage: ''
42
+ licenses: []
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ none: false
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubyforge_project: css3-progress-bar-rails
61
+ rubygems_version: 1.8.6
62
+ signing_key:
63
+ specification_version: 3
64
+ summary: Integrates Josh Sullivan's CSS3 Progress Bars into Rails 3.1+ Projects.
65
+ test_files: []