twitter_bootstrap_markup 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.
Files changed (116) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +4 -0
  3. data/README.md +29 -0
  4. data/Rakefile +1 -0
  5. data/lib/twitter_bootstrap_markup.rb +45 -0
  6. data/lib/twitter_bootstrap_markup/add_on.rb +9 -0
  7. data/lib/twitter_bootstrap_markup/alert.rb +35 -0
  8. data/lib/twitter_bootstrap_markup/badge.rb +4 -0
  9. data/lib/twitter_bootstrap_markup/brand.rb +9 -0
  10. data/lib/twitter_bootstrap_markup/breadcrumb.rb +21 -0
  11. data/lib/twitter_bootstrap_markup/button.rb +16 -0
  12. data/lib/twitter_bootstrap_markup/button_base.rb +41 -0
  13. data/lib/twitter_bootstrap_markup/control_group.rb +26 -0
  14. data/lib/twitter_bootstrap_markup/divider.rb +30 -0
  15. data/lib/twitter_bootstrap_markup/dropdown_button.rb +59 -0
  16. data/lib/twitter_bootstrap_markup/extended_input.rb +11 -0
  17. data/lib/twitter_bootstrap_markup/extension/hash.rb +11 -0
  18. data/lib/twitter_bootstrap_markup/fieldset.rb +18 -0
  19. data/lib/twitter_bootstrap_markup/form.rb +27 -0
  20. data/lib/twitter_bootstrap_markup/grid_column.rb +14 -0
  21. data/lib/twitter_bootstrap_markup/grid_row.rb +9 -0
  22. data/lib/twitter_bootstrap_markup/help.rb +24 -0
  23. data/lib/twitter_bootstrap_markup/icon.rb +18 -0
  24. data/lib/twitter_bootstrap_markup/input.rb +31 -0
  25. data/lib/twitter_bootstrap_markup/label.rb +4 -0
  26. data/lib/twitter_bootstrap_markup/label_base.rb +29 -0
  27. data/lib/twitter_bootstrap_markup/link.rb +17 -0
  28. data/lib/twitter_bootstrap_markup/link_button.rb +17 -0
  29. data/lib/twitter_bootstrap_markup/nav_bar.rb +32 -0
  30. data/lib/twitter_bootstrap_markup/nav_container.rb +10 -0
  31. data/lib/twitter_bootstrap_markup/nav_header.rb +9 -0
  32. data/lib/twitter_bootstrap_markup/nav_list.rb +11 -0
  33. data/lib/twitter_bootstrap_markup/nav_list_container.rb +10 -0
  34. data/lib/twitter_bootstrap_markup/nav_tab.rb +10 -0
  35. data/lib/twitter_bootstrap_markup/nav_tab_container.rb +13 -0
  36. data/lib/twitter_bootstrap_markup/page_header.rb +17 -0
  37. data/lib/twitter_bootstrap_markup/pagination.rb +29 -0
  38. data/lib/twitter_bootstrap_markup/popover.rb +20 -0
  39. data/lib/twitter_bootstrap_markup/progress_bar.rb +43 -0
  40. data/lib/twitter_bootstrap_markup/select.rb +67 -0
  41. data/lib/twitter_bootstrap_markup/side_position.rb +15 -0
  42. data/lib/twitter_bootstrap_markup/submit.rb +10 -0
  43. data/lib/twitter_bootstrap_markup/tab.rb +14 -0
  44. data/lib/twitter_bootstrap_markup/tab_content.rb +29 -0
  45. data/lib/twitter_bootstrap_markup/table.rb +28 -0
  46. data/lib/twitter_bootstrap_markup/tag.rb +51 -0
  47. data/lib/twitter_bootstrap_markup/tooltip.rb +19 -0
  48. data/lib/twitter_bootstrap_markup/ul_container.rb +21 -0
  49. data/lib/twitter_bootstrap_markup/version.rb +3 -0
  50. data/lib/twitter_bootstrap_markup/well.rb +27 -0
  51. data/markup/alerts.html +75 -0
  52. data/markup/badges.html +65 -0
  53. data/markup/breadcrumbs.html +59 -0
  54. data/markup/buttons.html +95 -0
  55. data/markup/control_groups.html +77 -0
  56. data/markup/css/bootstrap-responsive.css +815 -0
  57. data/markup/css/bootstrap-responsive.min.css +9 -0
  58. data/markup/css/bootstrap.css +4983 -0
  59. data/markup/css/bootstrap.min.css +9 -0
  60. data/markup/dropdown_buttons.html +248 -0
  61. data/markup/form_fields.html +88 -0
  62. data/markup/forms.html +81 -0
  63. data/markup/grid_system.html +87 -0
  64. data/markup/img/glyphicons-halflings-white.png +0 -0
  65. data/markup/img/glyphicons-halflings.png +0 -0
  66. data/markup/index.html +37 -0
  67. data/markup/js/bootstrap.js +1825 -0
  68. data/markup/js/bootstrap.min.js +6 -0
  69. data/markup/js/jquery-1.7.2.js +9402 -0
  70. data/markup/labels.html +65 -0
  71. data/markup/link_buttons.html +95 -0
  72. data/markup/nav_bars.html +104 -0
  73. data/markup/nav_lists.html +54 -0
  74. data/markup/paginations.html +68 -0
  75. data/markup/popovers.html +56 -0
  76. data/markup/progress_bars.html +93 -0
  77. data/markup/selects.html +124 -0
  78. data/markup/tabs.html +46 -0
  79. data/markup/textboxes.html +95 -0
  80. data/markup/tooltips.html +56 -0
  81. data/spec/add_on_spec.rb +10 -0
  82. data/spec/alert_spec.rb +77 -0
  83. data/spec/badge_spec.rb +29 -0
  84. data/spec/brand_spec.rb +10 -0
  85. data/spec/breadcrumb_spec.rb +32 -0
  86. data/spec/button_spec.rb +52 -0
  87. data/spec/control_group_spec.rb +29 -0
  88. data/spec/divider_spec.rb +17 -0
  89. data/spec/dropdown_button_spec.rb +101 -0
  90. data/spec/fieldset_spec.rb +22 -0
  91. data/spec/form_fields_spec.rb +71 -0
  92. data/spec/form_spec.rb +35 -0
  93. data/spec/grid_system_spec.rb +69 -0
  94. data/spec/help_spec.rb +13 -0
  95. data/spec/icon_spec.rb +18 -0
  96. data/spec/input_spec.rb +11 -0
  97. data/spec/label_spec.rb +29 -0
  98. data/spec/link_button_spec.rb +52 -0
  99. data/spec/link_spec.rb +29 -0
  100. data/spec/nav_bar_spec.rb +27 -0
  101. data/spec/nav_list_spec.rb +27 -0
  102. data/spec/page_header_spec.rb +13 -0
  103. data/spec/pagination_spec.rb +18 -0
  104. data/spec/popover_spec.rb +15 -0
  105. data/spec/progress_bar_spec.rb +53 -0
  106. data/spec/select_spec.rb +61 -0
  107. data/spec/spec_helper.rb +12 -0
  108. data/spec/support/helpers/html_helper.rb +11 -0
  109. data/spec/table_spec.rb +29 -0
  110. data/spec/tabs_spec.rb +22 -0
  111. data/spec/tag_spec.rb +40 -0
  112. data/spec/textbox_spec.rb +60 -0
  113. data/spec/tooltip_spec.rb +15 -0
  114. data/spec/well_spec.rb +17 -0
  115. data/twitter_bootstrap_markup.gemspec +23 -0
  116. metadata +182 -0
data/spec/tabs_spec.rb ADDED
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Tab' do
4
+
5
+ it 'default' do
6
+ tag = Tab.new do
7
+ nav.append NavTab.new('Tab 1', '#tab1'), :active
8
+ nav.append NavTab.new('Tab 2', '#tab2')
9
+ nav.append NavTab.new('#tab3') { append 'Tab 3' }
10
+ content.append('tab1', :active) do
11
+ Tag.block(:i) { append 'Content for Tab 1' }
12
+ end
13
+ content.append 'tab2', 'Content for Tab 2'
14
+ content.append('tab3') do
15
+ Tag.block(:strong) { append 'Content for Tab 3' }
16
+ end
17
+ end
18
+
19
+ tag.to_s.should eq HtmlHelper.html_for('tabs', "#default .tab")
20
+ end
21
+
22
+ end
data/spec/tag_spec.rb ADDED
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe Tag do
4
+
5
+ it 'Create simple tag' do
6
+ Tag.inline(:input, :type => 'text', :id => 'text_field').to_s.should eq '<input type="text" id="text_field">'
7
+ end
8
+
9
+ it 'Create simple tag in steps' do
10
+ tag = Tag.inline(:input)
11
+ tag.attributes[:type] = 'button'
12
+ tag.attributes[:value] = 'Click me'
13
+
14
+ tag.to_s.should eq '<input type="button" value="Click me">'
15
+ end
16
+
17
+ it 'Create block tag' do
18
+ Tag.block(:textarea, :id => 'long_text').to_s.should eq '<textarea id="long_text"></textarea>'
19
+ end
20
+
21
+ it 'Create block tag in steps' do
22
+ tag = Tag.block(:body)
23
+ tag.attributes[:style] = 'margin: 0px'
24
+
25
+ tag.to_s.should eq '<body style="margin: 0px"></body>'
26
+ end
27
+
28
+ it 'Create text container tag' do
29
+ Tag.block(:div, :style => 'width: 100%') { append 'Title' }.to_s.should eq '<div style="width: 100%">Title</div>'
30
+ end
31
+
32
+ it 'Create tag tree' do
33
+ tag = Tag.block(:p) do
34
+ append Tag.block(:label, :for => 'text_field') {append 'Text field:'}
35
+ append Tag.inline(:input, :type => 'text', :id => 'text_field')
36
+ end
37
+
38
+ tag.to_s.should eq '<p><label for="text_field">Text field:</label><input type="text" id="text_field"></p>'
39
+ end
40
+ end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ describe Input, '-> text' do
4
+
5
+ context 'Sizes' do
6
+
7
+ it 'default' do
8
+ Input.text.to_s.should eq HtmlHelper.html_for('textboxes', "#default input")
9
+ end
10
+
11
+ Input::SIZES.each do |size|
12
+ it size do
13
+ Input.text.send(size).to_s.should eq HtmlHelper.html_for('textboxes', "##{size} input")
14
+ end
15
+ end
16
+
17
+ end
18
+
19
+ context 'Constructors' do
20
+
21
+ Input::SIZES.each do |size|
22
+ it size do
23
+ Input.send("text_#{size}").to_s.should eq Input.text.send(size).to_s
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+ context 'Prepend and Append' do
30
+
31
+ it 'prepend' do
32
+ tag = ExtendedInput.new do
33
+ append AddOn.new '$'
34
+ append Input.text
35
+ end
36
+
37
+ tag.to_s.should eq HtmlHelper.html_for('textboxes', "#prepend div")
38
+ end
39
+
40
+ it 'append' do
41
+ tag = ExtendedInput.new do
42
+ append Input.text
43
+ append Button.new 'Save'
44
+ end
45
+
46
+ tag.to_s.should eq HtmlHelper.html_for('textboxes', "#append div")
47
+ end
48
+
49
+ it 'prepend and append' do
50
+ tag = ExtendedInput.new do
51
+ append AddOn.new '$'
52
+ append Input.text
53
+ append Button.new 'Save'
54
+ end
55
+
56
+ tag.to_s.should eq HtmlHelper.html_for('textboxes', "#prepend_append div")
57
+ end
58
+ end
59
+
60
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Tooltip do
4
+
5
+ it 'default' do
6
+ Link.new('simple', '#').tooltip('Simple tooltip').to_s.should eq HtmlHelper.html_for('tooltips', "#default a")
7
+ end
8
+
9
+ Tooltip::POSITIONS.reject { |p| p ==:top }.each do |position|
10
+ it position do
11
+ Link.new('simple', '#').send("tooltip_#{position}", 'Simple tooltip').to_s.should eq HtmlHelper.html_for('tooltips', "##{position} a")
12
+ end
13
+ end
14
+
15
+ end
data/spec/well_spec.rb ADDED
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Well do
4
+
5
+ it 'default' do
6
+ Well.new{append 'This is a well'}.to_s.should eq '<div class="well">This is a well</div>'
7
+ end
8
+
9
+ it 'small' do
10
+ Well.small{append 'This is a small well'}.to_s.should eq '<div class="well well-small">This is a small well</div>'
11
+ end
12
+
13
+ it 'large' do
14
+ Well.large{append 'This is a large well'}.to_s.should eq '<div class="well well-large">This is a large well</div>'
15
+ end
16
+
17
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "twitter_bootstrap_markup/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'twitter_bootstrap_markup'
7
+ s.version = TwitterBootstrapMarkup::VERSION
8
+ s.authors = ['Gabriel Naiman']
9
+ s.email = %w(gabynaiman@gmail.com)
10
+ s.homepage = 'https://github.com/gabynaiman/twitter_bootstrap_markup'
11
+ s.summary = 'Object Oriented Twitter Bootstrap Markup'
12
+ s.description = 'Object Oriented Twitter Bootstrap Markup'
13
+
14
+ s.rubyforge_project = 'twitter_bootstrap_markup'
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
+ s.add_development_dependency 'rspec'
22
+ s.add_development_dependency 'nokogiri'
23
+ end
metadata ADDED
@@ -0,0 +1,182 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: twitter_bootstrap_markup
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Gabriel Naiman
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &24630648 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *24630648
25
+ - !ruby/object:Gem::Dependency
26
+ name: nokogiri
27
+ requirement: &24629736 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *24629736
36
+ description: Object Oriented Twitter Bootstrap Markup
37
+ email:
38
+ - gabynaiman@gmail.com
39
+ executables: []
40
+ extensions: []
41
+ extra_rdoc_files: []
42
+ files:
43
+ - .gitignore
44
+ - Gemfile
45
+ - README.md
46
+ - Rakefile
47
+ - lib/twitter_bootstrap_markup.rb
48
+ - lib/twitter_bootstrap_markup/add_on.rb
49
+ - lib/twitter_bootstrap_markup/alert.rb
50
+ - lib/twitter_bootstrap_markup/badge.rb
51
+ - lib/twitter_bootstrap_markup/brand.rb
52
+ - lib/twitter_bootstrap_markup/breadcrumb.rb
53
+ - lib/twitter_bootstrap_markup/button.rb
54
+ - lib/twitter_bootstrap_markup/button_base.rb
55
+ - lib/twitter_bootstrap_markup/control_group.rb
56
+ - lib/twitter_bootstrap_markup/divider.rb
57
+ - lib/twitter_bootstrap_markup/dropdown_button.rb
58
+ - lib/twitter_bootstrap_markup/extended_input.rb
59
+ - lib/twitter_bootstrap_markup/extension/hash.rb
60
+ - lib/twitter_bootstrap_markup/fieldset.rb
61
+ - lib/twitter_bootstrap_markup/form.rb
62
+ - lib/twitter_bootstrap_markup/grid_column.rb
63
+ - lib/twitter_bootstrap_markup/grid_row.rb
64
+ - lib/twitter_bootstrap_markup/help.rb
65
+ - lib/twitter_bootstrap_markup/icon.rb
66
+ - lib/twitter_bootstrap_markup/input.rb
67
+ - lib/twitter_bootstrap_markup/label.rb
68
+ - lib/twitter_bootstrap_markup/label_base.rb
69
+ - lib/twitter_bootstrap_markup/link.rb
70
+ - lib/twitter_bootstrap_markup/link_button.rb
71
+ - lib/twitter_bootstrap_markup/nav_bar.rb
72
+ - lib/twitter_bootstrap_markup/nav_container.rb
73
+ - lib/twitter_bootstrap_markup/nav_header.rb
74
+ - lib/twitter_bootstrap_markup/nav_list.rb
75
+ - lib/twitter_bootstrap_markup/nav_list_container.rb
76
+ - lib/twitter_bootstrap_markup/nav_tab.rb
77
+ - lib/twitter_bootstrap_markup/nav_tab_container.rb
78
+ - lib/twitter_bootstrap_markup/page_header.rb
79
+ - lib/twitter_bootstrap_markup/pagination.rb
80
+ - lib/twitter_bootstrap_markup/popover.rb
81
+ - lib/twitter_bootstrap_markup/progress_bar.rb
82
+ - lib/twitter_bootstrap_markup/select.rb
83
+ - lib/twitter_bootstrap_markup/side_position.rb
84
+ - lib/twitter_bootstrap_markup/submit.rb
85
+ - lib/twitter_bootstrap_markup/tab.rb
86
+ - lib/twitter_bootstrap_markup/tab_content.rb
87
+ - lib/twitter_bootstrap_markup/table.rb
88
+ - lib/twitter_bootstrap_markup/tag.rb
89
+ - lib/twitter_bootstrap_markup/tooltip.rb
90
+ - lib/twitter_bootstrap_markup/ul_container.rb
91
+ - lib/twitter_bootstrap_markup/version.rb
92
+ - lib/twitter_bootstrap_markup/well.rb
93
+ - markup/alerts.html
94
+ - markup/badges.html
95
+ - markup/breadcrumbs.html
96
+ - markup/buttons.html
97
+ - markup/control_groups.html
98
+ - markup/css/bootstrap-responsive.css
99
+ - markup/css/bootstrap-responsive.min.css
100
+ - markup/css/bootstrap.css
101
+ - markup/css/bootstrap.min.css
102
+ - markup/dropdown_buttons.html
103
+ - markup/form_fields.html
104
+ - markup/forms.html
105
+ - markup/grid_system.html
106
+ - markup/img/glyphicons-halflings-white.png
107
+ - markup/img/glyphicons-halflings.png
108
+ - markup/index.html
109
+ - markup/js/bootstrap.js
110
+ - markup/js/bootstrap.min.js
111
+ - markup/js/jquery-1.7.2.js
112
+ - markup/labels.html
113
+ - markup/link_buttons.html
114
+ - markup/nav_bars.html
115
+ - markup/nav_lists.html
116
+ - markup/paginations.html
117
+ - markup/popovers.html
118
+ - markup/progress_bars.html
119
+ - markup/selects.html
120
+ - markup/tabs.html
121
+ - markup/textboxes.html
122
+ - markup/tooltips.html
123
+ - spec/add_on_spec.rb
124
+ - spec/alert_spec.rb
125
+ - spec/badge_spec.rb
126
+ - spec/brand_spec.rb
127
+ - spec/breadcrumb_spec.rb
128
+ - spec/button_spec.rb
129
+ - spec/control_group_spec.rb
130
+ - spec/divider_spec.rb
131
+ - spec/dropdown_button_spec.rb
132
+ - spec/fieldset_spec.rb
133
+ - spec/form_fields_spec.rb
134
+ - spec/form_spec.rb
135
+ - spec/grid_system_spec.rb
136
+ - spec/help_spec.rb
137
+ - spec/icon_spec.rb
138
+ - spec/input_spec.rb
139
+ - spec/label_spec.rb
140
+ - spec/link_button_spec.rb
141
+ - spec/link_spec.rb
142
+ - spec/nav_bar_spec.rb
143
+ - spec/nav_list_spec.rb
144
+ - spec/page_header_spec.rb
145
+ - spec/pagination_spec.rb
146
+ - spec/popover_spec.rb
147
+ - spec/progress_bar_spec.rb
148
+ - spec/select_spec.rb
149
+ - spec/spec_helper.rb
150
+ - spec/support/helpers/html_helper.rb
151
+ - spec/table_spec.rb
152
+ - spec/tabs_spec.rb
153
+ - spec/tag_spec.rb
154
+ - spec/textbox_spec.rb
155
+ - spec/tooltip_spec.rb
156
+ - spec/well_spec.rb
157
+ - twitter_bootstrap_markup.gemspec
158
+ homepage: https://github.com/gabynaiman/twitter_bootstrap_markup
159
+ licenses: []
160
+ post_install_message:
161
+ rdoc_options: []
162
+ require_paths:
163
+ - lib
164
+ required_ruby_version: !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ requirements: []
177
+ rubyforge_project: twitter_bootstrap_markup
178
+ rubygems_version: 1.8.16
179
+ signing_key:
180
+ specification_version: 3
181
+ summary: Object Oriented Twitter Bootstrap Markup
182
+ test_files: []