tabs_on_rails 2.0.2 → 2.1.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.
@@ -0,0 +1,4 @@
1
+ .bundle
2
+ .idea
3
+ pkg/*
4
+ rdoc
@@ -0,0 +1,12 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - ree
6
+ gemfile:
7
+ - gemfiles/3.0.gemfile
8
+ - gemfiles/3.1.gemfile
9
+ - gemfiles/3.2.gemfile
10
+ notifications:
11
+ recipients:
12
+ - weppos@weppos.net
@@ -0,0 +1,11 @@
1
+ appraise "3.0" do
2
+ gem "activerecord", "~> 3.0"
3
+ end
4
+
5
+ appraise "3.1" do
6
+ gem "activerecord", "~> 3.1"
7
+ end
8
+
9
+ appraise "3.2" do
10
+ gem "activerecord", "~> 3.2"
11
+ end
@@ -1,7 +1,19 @@
1
- = Changelog
1
+ # Changelog
2
2
 
3
3
 
4
- == Release 2.0.2
4
+ ## Release 2.1.1
5
+
6
+ * FIXED: An invalid replace command caused a bug in 2.1.0.
7
+
8
+
9
+ ## Release 2.1.0
10
+
11
+ * NEW: Support for Rails 3.2.
12
+
13
+ * FIXED: Fixed Rails 3.2 ActiveSupport::Concern deprecation warning (GH-18).
14
+
15
+
16
+ ## Release 2.0.2
5
17
 
6
18
  * NEW: Added support for nested tabs and ability
7
19
  to pass a block to the #tab_for method (#12, #9, #11).
@@ -12,41 +24,41 @@
12
24
  * CHANGED: Removed deprecated #has_rdoc= RubyGems attribute.
13
25
 
14
26
 
15
- == Release 2.0.1
27
+ ## Release 2.0.1
16
28
 
17
29
  * NEW: Added support for rubygems-test.
18
30
 
19
31
 
20
- == Release 2.0.0
32
+ ## Release 2.0.0
21
33
 
22
34
  Nothing changed. No longer a --pre release.
23
35
 
24
36
 
25
- == Release 2.0.0.pre2
37
+ ## Release 2.0.0.pre2
26
38
 
27
39
  * FIXED: Fixed permission error (#8)
28
40
 
29
41
 
30
- == Release 2.0.0.pre
42
+ ## Release 2.0.0.pre
31
43
 
32
44
  * CHANGED: Dropped support for Rails 2.
33
45
 
34
46
  * CHANGED: Remove "Incomplete `close_tabs' definition" warning. open_tabs/close_tabs can now have zero or more arguments.
35
47
 
36
48
 
37
- == Release 1.3.2
49
+ ## Release 1.3.2
38
50
 
39
51
  * CHANGED: Use Bundler to declare dependencies.
40
52
 
41
53
  * FIXED: Some Rails 2 user can experience a NoMethodError: undefined method `html_safe'.
42
54
 
43
55
 
44
- == Release 1.3.1
56
+ ## Release 1.3.1
45
57
 
46
58
  * FIXED: Error wrong number of arguments (2 for 3) (closes #3)
47
59
 
48
60
 
49
- == Release 1.3.0
61
+ ## Release 1.3.0
50
62
 
51
63
  * NEW: Ability to customize the behavior and the style of the li tab item
52
64
  passing a hash of options.
@@ -63,7 +75,7 @@ Nothing changed. No longer a --pre release.
63
75
  </ul>
64
76
 
65
77
 
66
- == Release 1.2.0
78
+ ## Release 1.2.0
67
79
 
68
80
  * NEW: Rails 3 compatibility.
69
81
 
@@ -72,7 +84,7 @@ Nothing changed. No longer a --pre release.
72
84
  * CHANGED: TabsOnRails::Tabs::Builder (and all child classes) now has full access to @options hash.
73
85
 
74
86
 
75
- == Release 1.1.0
87
+ ## Release 1.1.0
76
88
 
77
89
  * FIXED: Incompatibility with release < 1.0.0 caused by open_tabs and close_tabs methods changes compared to 0.8.0.
78
90
 
@@ -87,7 +99,7 @@ Nothing changed. No longer a --pre release.
87
99
  * REMOVED: Deleted empty install.rb file.
88
100
 
89
101
 
90
- == Release 1.0.0
102
+ ## Release 1.0.0
91
103
 
92
104
  * NEW: Ability to pass arbitrary options to open_tabs and close_tags method. Thanks to aaronchi (closes #315)
93
105
 
@@ -96,19 +108,19 @@ Nothing changed. No longer a --pre release.
96
108
  First stable release.
97
109
 
98
110
 
99
- == Release 0.8.2
111
+ ## Release 0.8.2
100
112
 
101
113
  * CHANGED: GitHub Gem Building is Defunct. The gem is now hosted on Gemcutter (see http://github.com/blog/515-gem-building-is-defunct)
102
114
 
103
115
 
104
- == Release 0.8.1
116
+ ## Release 0.8.1
105
117
 
106
118
  * CHANGED: Controller#set_tab now uses #send instead of #instance_eval (better performance and more security)
107
119
 
108
120
  * CHANGED: run test against Rails ~> 2.3.0 but ensure compatibility with Rails 2.2.x.
109
121
 
110
122
 
111
- == Release 0.8.0
123
+ ## Release 0.8.0
112
124
 
113
125
  * FIXED: Invalid usage of the word namescope instead of namespace.
114
126
 
@@ -123,7 +135,7 @@ First stable release.
123
135
  * REMOVED: Deprecated current_tab setter method. Use set_tab instead.
124
136
 
125
137
 
126
- == Release 0.3.0
138
+ ## Release 0.3.0
127
139
 
128
140
  * NEW: Support for namespaces in order to manage concurrent tab menus (closes #144).
129
141
 
@@ -136,7 +148,7 @@ First stable release.
136
148
  * CHANGED: Calling tabs_tag with a custom builder as first parameter is now deprecated. Use :builder option instead.
137
149
 
138
150
 
139
- == Release 0.2.0
151
+ ## Release 0.2.0
140
152
 
141
153
  * NEW: The README file is definitely more useful now, filled up with some basic documentation.
142
154
 
@@ -145,6 +157,6 @@ First stable release.
145
157
  * CHANGED: Removed development version warning (closes #145).
146
158
 
147
159
 
148
- == Release 0.1.0
160
+ ## Release 0.1.0
149
161
 
150
162
  * Initial version
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,99 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ tabs_on_rails (2.1.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ actionmailer (3.2.1)
10
+ actionpack (= 3.2.1)
11
+ mail (~> 2.4.0)
12
+ actionpack (3.2.1)
13
+ activemodel (= 3.2.1)
14
+ activesupport (= 3.2.1)
15
+ builder (~> 3.0.0)
16
+ erubis (~> 2.7.0)
17
+ journey (~> 1.0.1)
18
+ rack (~> 1.4.0)
19
+ rack-cache (~> 1.1)
20
+ rack-test (~> 0.6.1)
21
+ sprockets (~> 2.1.2)
22
+ activemodel (3.2.1)
23
+ activesupport (= 3.2.1)
24
+ builder (~> 3.0.0)
25
+ activerecord (3.2.1)
26
+ activemodel (= 3.2.1)
27
+ activesupport (= 3.2.1)
28
+ arel (~> 3.0.0)
29
+ tzinfo (~> 0.3.29)
30
+ activeresource (3.2.1)
31
+ activemodel (= 3.2.1)
32
+ activesupport (= 3.2.1)
33
+ activesupport (3.2.1)
34
+ i18n (~> 0.6)
35
+ multi_json (~> 1.0)
36
+ appraisal (0.4.0)
37
+ bundler
38
+ rake
39
+ arel (3.0.0)
40
+ builder (3.0.0)
41
+ erubis (2.7.0)
42
+ hike (1.2.1)
43
+ i18n (0.6.0)
44
+ journey (1.0.1)
45
+ json (1.6.5)
46
+ mail (2.4.1)
47
+ i18n (>= 0.4.0)
48
+ mime-types (~> 1.16)
49
+ treetop (~> 1.4.8)
50
+ mime-types (1.17.2)
51
+ mocha (0.9.12)
52
+ multi_json (1.0.4)
53
+ polyglot (0.3.3)
54
+ rack (1.4.1)
55
+ rack-cache (1.1)
56
+ rack (>= 0.4)
57
+ rack-ssl (1.3.2)
58
+ rack
59
+ rack-test (0.6.1)
60
+ rack (>= 1.0)
61
+ rails (3.2.1)
62
+ actionmailer (= 3.2.1)
63
+ actionpack (= 3.2.1)
64
+ activerecord (= 3.2.1)
65
+ activeresource (= 3.2.1)
66
+ activesupport (= 3.2.1)
67
+ bundler (~> 1.0)
68
+ railties (= 3.2.1)
69
+ railties (3.2.1)
70
+ actionpack (= 3.2.1)
71
+ activesupport (= 3.2.1)
72
+ rack-ssl (~> 1.3.2)
73
+ rake (>= 0.8.7)
74
+ rdoc (~> 3.4)
75
+ thor (~> 0.14.6)
76
+ rake (0.9.2.2)
77
+ rdoc (3.12)
78
+ json (~> 1.4)
79
+ sprockets (2.1.2)
80
+ hike (~> 1.2)
81
+ rack (~> 1.0)
82
+ tilt (~> 1.1, != 1.3.0)
83
+ thor (0.14.6)
84
+ tilt (1.3.3)
85
+ treetop (1.4.10)
86
+ polyglot
87
+ polyglot (>= 0.3.1)
88
+ tzinfo (0.3.31)
89
+ yard (0.7.5)
90
+
91
+ PLATFORMS
92
+ ruby
93
+
94
+ DEPENDENCIES
95
+ appraisal
96
+ mocha (~> 0.9.10)
97
+ rails (>= 3.0)
98
+ tabs_on_rails!
99
+ yard
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2011 Simone Carletti
1
+ Copyright (c) 2009-2012 Simone Carletti
2
2
 
3
3
  MIT License
4
4
 
@@ -0,0 +1,86 @@
1
+ # Tabs on Rails
2
+
3
+ *TabsOnRails* is a simple Rails plugin for creating tabs and navigation menus. It provides helpers for generating navigation menus with a flexible interface.
4
+
5
+
6
+ ## Requirements
7
+
8
+ * Rails 3
9
+
10
+ Please note
11
+
12
+ * TabsOnRails 2.x requires Rails 3. Use TabsOnRails 1.3.x with Rails 2.
13
+ * TabsOnRails doesn't work with Rails 2.1 or lower
14
+ ([comment](http://www.simonecarletti.com/blog/2009/04/tabsonrails/#comment-2901) and [commit](http://github.com/weppos/tabs_on_rails/commit/d5ae9f401e3d0acc87251fa8957a8625e90ba4b3)).
15
+
16
+
17
+ ## Installation
18
+
19
+ [RubyGems](http://rubygems.org) is the preferred way to install *TabsOnRails* and the best way if you want install a stable version.
20
+
21
+ $ gem install tabs_on_rails
22
+
23
+ Specify the Gem dependency in the [Bundler](http://gembundler.com) `Gemfile`.
24
+
25
+ gem "tabs_on_rails"
26
+
27
+ Use [Bundler](http://gembundler.com) and the [:git option](http://gembundler.com/v1.0/git.html) if you want to grab the latest version from the Git repository.
28
+
29
+
30
+ ## Usage
31
+
32
+ In your template use the `tabs_tag` helper to create your tab.
33
+
34
+ <%= tabs_tag do |tab| %>
35
+ <%= tab.home 'Homepage', root_path %>
36
+ <%= tab.dashboard 'Dashboard', dashboard_path %>
37
+ <%= tab.account 'Account', account_path %>
38
+ <% end %>
39
+
40
+ The example above produces the following HTML output.
41
+
42
+ <ul>
43
+ <li><a href="/">Homepage</a></li>
44
+ <li><a href="/dashboard">Dashboard</a></li>
45
+ <li><a href="/account">Account</a></li>
46
+ </ul>
47
+
48
+ The usage is similar to the Rails route file. You create named tabs with the syntax `tab.name_of_tab`. The name you use creating a tab is the same you're going to refer to in your controller when you want to mark a tab as the current tab.
49
+
50
+ Now, if the action belongs to `DashboardController`, the template will automatically render the following HTML code.
51
+
52
+ <ul>
53
+ <li><a href="/">Homepage</a></li>
54
+ <li class="custom"><span>Dashboard</span></li>
55
+ <li><a href="/account">Account</a></li>
56
+ </ul>
57
+
58
+ Use the `current_tab` helper method if you need to access the value of current tab in your controller or template.
59
+
60
+ class DashboardController < ApplicationController
61
+ set_tab :dashboard
62
+ end
63
+
64
+ # In your view
65
+ <p>The name of current tab is <%= current_tab %>.</p>
66
+
67
+ Read the [documentation](/code/tabs_on_rails/docs/) to learn more about advanced usage, builders and namespaces.
68
+
69
+
70
+ ## Credits
71
+
72
+ * [Simone Carletti](http://www.simonecarletti.com/) <weppos@weppos.net> - The Author
73
+
74
+
75
+ ## Resources
76
+
77
+ * [Homepage](http://www.simonecarletti.com/code/tabs_on_rails)
78
+ * [Documentation](http://www.simonecarletti.com/code/tabs_on_rails/docs/)
79
+ * [API](http://rubydoc.info/gems/tabs_on_rails)
80
+ * [Repository](https://github.com/weppos/tabs_on_rails)
81
+ * [Issue Tracker](http://github.com/weppos/tabs_on_rails/issues)
82
+
83
+
84
+ ## License
85
+
86
+ *TabsOnRails* is Copyright (c) 2009-2012 Simone Carletti. This is Free Software distributed under the MIT license.
data/Rakefile CHANGED
@@ -1,8 +1,6 @@
1
1
  require 'rubygems'
2
- require 'rubygems/package_task'
3
2
  require 'bundler'
4
- require 'rake/testtask'
5
- require 'rdoc/task'
3
+ require 'appraisal'
6
4
 
7
5
  $:.unshift(File.dirname(__FILE__) + '/lib')
8
6
  require 'tabs_on_rails/version'
@@ -11,19 +9,10 @@ require 'tabs_on_rails/version'
11
9
  PKG_NAME = ENV['PKG_NAME'] || "tabs_on_rails"
12
10
  PKG_VERSION = ENV['PKG_VERSION'] || TabsOnRails::VERSION
13
11
 
14
- if ENV['SNAPSHOT'].to_i == 1
15
- PKG_VERSION << "." << Time.now.utc.strftime("%Y%m%d%H%M%S")
16
- end
17
-
18
12
 
19
13
  # Run test by default.
20
14
  task :default => :test
21
15
 
22
- # This builds the actual gem. For details of what all these options
23
- # mean, and other ones you can add, check the documentation here:
24
- #
25
- # http://rubygems.org/read/chapter/20
26
- #
27
16
  spec = Gem::Specification.new do |s|
28
17
  s.name = PKG_NAME
29
18
  s.version = PKG_VERSION
@@ -34,25 +23,19 @@ spec = Gem::Specification.new do |s|
34
23
  s.email = "weppos@weppos.net"
35
24
  s.homepage = "http://www.simonecarletti.com/code/tabs_on_rails"
36
25
 
37
- # You should probably have a README of some kind. Change the filename
38
- # as appropriate
39
- s.extra_rdoc_files = Dir.glob("*.rdoc")
40
- s.rdoc_options = %w(--main README.rdoc)
41
-
42
- # Add any extra files to include in the gem (like your README)
43
- s.files = %w( Rakefile LICENSE init.rb .gemtest ) + Dir.glob("*.{rdoc,gemspec}") + Dir.glob("{lib,test,rails}/**/*")
26
+ s.files = `git ls-files`.split("\n")
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
44
28
  s.require_paths = %w( lib )
45
29
 
46
- s.add_development_dependency("bundler")
47
- s.add_development_dependency("hanna-nouveau")
48
- s.add_development_dependency("rails", "~> 3.0.6")
49
- s.add_development_dependency("mocha", "~> 0.9.10")
30
+ s.add_development_dependency "rails", ">= 3.0"
31
+ s.add_development_dependency "appraisal"
32
+ s.add_development_dependency "mocha", "~> 0.9.10"
33
+ s.add_development_dependency "yard"
50
34
  end
51
35
 
52
- # This task actually builds the gem. We also regenerate a static
53
- # .gemspec file, which is useful if something (i.e. GitHub) will
54
- # be automatically building a gem for this project. If you're not
55
- # using GitHub, edit as appropriate.
36
+
37
+ require 'rubygems/package_task'
38
+
56
39
  Gem::PackageTask.new(spec) do |pkg|
57
40
  pkg.gem_spec = spec
58
41
  end
@@ -75,24 +58,28 @@ desc "Package the library and generates the gemspec"
75
58
  task :package => [:gemspec]
76
59
 
77
60
 
78
- # Run all the tests in the /test folder
61
+ require 'rake/testtask'
62
+
79
63
  Rake::TestTask.new do |t|
80
64
  t.libs << "test"
81
65
  t.test_files = FileList["test/**/*_test.rb"]
82
- t.verbose = true
66
+ t.verbose = !!ENV["VERBOSE"]
67
+ t.warning = !!ENV["WARNING"]
83
68
  end
84
69
 
85
- # Generate documentation
86
- RDoc::Task.new do |rdoc|
87
- rdoc.main = "README.rdoc"
88
- rdoc.rdoc_files.include("*.rdoc", "lib/**/*.rb")
89
- rdoc.rdoc_dir = "rdoc"
90
- rdoc.generator = 'hanna'
91
- end
92
70
 
71
+ require 'yard'
72
+ require 'yard/rake/yardoc_task'
93
73
 
94
- desc "Publish documentation to the site"
95
- task :publish_rdoc => [:clobber_rdoc, :rdoc] do
96
- ENV["username"] || raise(ArgumentError, "Missing ssh username")
97
- sh "rsync -avz --delete rdoc/ #{ENV["username"]}@code:/var/www/apps/code/#{PKG_NAME}/api"
74
+ YARD::Rake::YardocTask.new(:yardoc) do |y|
75
+ y.options = ["--output-dir", "yardoc"]
98
76
  end
77
+
78
+ namespace :yardoc do
79
+ desc "Remove YARD products"
80
+ task :clobber do
81
+ rm_r "yardoc" rescue nil
82
+ end
83
+ end
84
+
85
+ task :clobber => "yardoc:clobber"