tabs_on_rails 2.0.2 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"