mmmenu 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2ea9a1834434ec0ec0689a7f12805ca445159c43
4
+ data.tar.gz: b70e0fa2bdc3be31606409ebc9750e4d1fd2f5dd
5
+ SHA512:
6
+ metadata.gz: acaa3fb858b87453b0c4ada041a2c9fa249536eab1a761658f3b990d8e5c500f0c571c28f493f08b1311ddd50ccb270d88be8b2b0a85f57c768b59b65abe3703
7
+ data.tar.gz: 1d1d360e8a9e7056f8c0e889f0e737fe43f0485b038244fbb2c88679e802d9f011a51ca7d01045eb88b1f39ebe0af59ebd0b08a829858ea1363de7259d29075d
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile CHANGED
@@ -3,6 +3,6 @@ source "http://rubygems.org"
3
3
  group :development do
4
4
  gem "bundler"
5
5
  gem "rspec"
6
- gem "jeweler", "~> 1.6.4"
6
+ gem "jeweler"
7
7
  #gem "rcov", ">= 0"
8
8
  end
@@ -1,26 +1,69 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- diff-lcs (1.1.3)
5
- git (1.2.5)
6
- jeweler (1.6.4)
7
- bundler (~> 1.0)
4
+ addressable (2.3.6)
5
+ builder (3.2.2)
6
+ descendants_tracker (0.0.4)
7
+ thread_safe (~> 0.3, >= 0.3.1)
8
+ diff-lcs (1.2.5)
9
+ faraday (0.9.0)
10
+ multipart-post (>= 1.2, < 3)
11
+ git (1.2.7)
12
+ github_api (0.11.3)
13
+ addressable (~> 2.3)
14
+ descendants_tracker (~> 0.0.1)
15
+ faraday (~> 0.8, < 0.10)
16
+ hashie (>= 1.2)
17
+ multi_json (>= 1.7.5, < 2.0)
18
+ nokogiri (~> 1.6.0)
19
+ oauth2
20
+ hashie (3.1.0)
21
+ highline (1.6.21)
22
+ jeweler (2.0.1)
23
+ builder
24
+ bundler (>= 1.0)
8
25
  git (>= 1.2.5)
26
+ github_api
27
+ highline (>= 1.6.15)
28
+ nokogiri (>= 1.5.10)
9
29
  rake
10
- rake (0.9.2.2)
11
- rspec (2.8.0)
12
- rspec-core (~> 2.8.0)
13
- rspec-expectations (~> 2.8.0)
14
- rspec-mocks (~> 2.8.0)
15
- rspec-core (2.8.0)
16
- rspec-expectations (2.8.0)
17
- diff-lcs (~> 1.1.2)
18
- rspec-mocks (2.8.0)
30
+ rdoc
31
+ json (1.8.1)
32
+ jwt (1.0.0)
33
+ mini_portile (0.6.0)
34
+ multi_json (1.10.1)
35
+ multi_xml (0.5.5)
36
+ multipart-post (2.0.0)
37
+ nokogiri (1.6.2.1)
38
+ mini_portile (= 0.6.0)
39
+ oauth2 (0.9.4)
40
+ faraday (>= 0.8, < 0.10)
41
+ jwt (~> 1.0)
42
+ multi_json (~> 1.3)
43
+ multi_xml (~> 0.5)
44
+ rack (~> 1.2)
45
+ rack (1.5.2)
46
+ rake (10.3.2)
47
+ rdoc (4.1.1)
48
+ json (~> 1.4)
49
+ rspec (3.0.0)
50
+ rspec-core (~> 3.0.0)
51
+ rspec-expectations (~> 3.0.0)
52
+ rspec-mocks (~> 3.0.0)
53
+ rspec-core (3.0.2)
54
+ rspec-support (~> 3.0.0)
55
+ rspec-expectations (3.0.2)
56
+ diff-lcs (>= 1.2.0, < 2.0)
57
+ rspec-support (~> 3.0.0)
58
+ rspec-mocks (3.0.2)
59
+ rspec-support (~> 3.0.0)
60
+ rspec-support (3.0.2)
61
+ thread_safe (0.3.4)
19
62
 
20
63
  PLATFORMS
21
64
  ruby
22
65
 
23
66
  DEPENDENCIES
24
67
  bundler
25
- jeweler (~> 1.6.4)
68
+ jeweler
26
69
  rspec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.5.2
@@ -41,7 +41,9 @@ class Mmmenu
41
41
  end
42
42
 
43
43
  def build
44
- build_level[:output]
44
+ result = build_level[:output]
45
+ @current_item = @deepest_current_item
46
+ result
45
47
  end
46
48
 
47
49
  private
@@ -76,6 +78,9 @@ class Mmmenu
76
78
  ) && !has_current_item
77
79
 
78
80
  then
81
+ unless item[:children]
82
+ @deepest_current_item = item
83
+ end
79
84
  has_current_item = true
80
85
  item_output = item_markup[:current][:block].call(item[:href], item[:title], item_markup[:current][:options].merge(item[:html_options]))
81
86
  else
@@ -2,20 +2,23 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: mmmenu 0.5.2 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "mmmenu"
8
- s.version = "0.5.1"
9
+ s.version = "0.5.2"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Roman Snitko"]
12
- s.date = "2013-04-04"
14
+ s.date = "2014-07-07"
13
15
  s.description = "Defines multilevel menu structures, uses custom html templates to render them."
14
16
  s.email = "roman.snitko@gmail.com"
15
17
  s.extra_rdoc_files = [
16
18
  "README.markdown"
17
19
  ]
18
20
  s.files = [
21
+ ".rspec",
19
22
  "Gemfile",
20
23
  "Gemfile.lock",
21
24
  "README.markdown",
@@ -38,26 +41,25 @@ Gem::Specification.new do |s|
38
41
  ]
39
42
  s.homepage = "http://github.com/snitko/mmmenu"
40
43
  s.licenses = ["MIT"]
41
- s.require_paths = ["lib"]
42
- s.rubygems_version = "1.8.24"
44
+ s.rubygems_version = "2.2.2"
43
45
  s.summary = "Flexible menu generator for Rails."
44
46
 
45
47
  if s.respond_to? :specification_version then
46
- s.specification_version = 3
48
+ s.specification_version = 4
47
49
 
48
50
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
51
  s.add_development_dependency(%q<bundler>, [">= 0"])
50
52
  s.add_development_dependency(%q<rspec>, [">= 0"])
51
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
53
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
52
54
  else
53
55
  s.add_dependency(%q<bundler>, [">= 0"])
54
56
  s.add_dependency(%q<rspec>, [">= 0"])
55
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
+ s.add_dependency(%q<jeweler>, [">= 0"])
56
58
  end
57
59
  else
58
60
  s.add_dependency(%q<bundler>, [">= 0"])
59
61
  s.add_dependency(%q<rspec>, [">= 0"])
60
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
62
+ s.add_dependency(%q<jeweler>, [">= 0"])
61
63
  end
62
64
  end
63
65
 
@@ -10,7 +10,7 @@ describe Mmmenu::Level do
10
10
  end
11
11
  end
12
12
 
13
- @menu_level.to_a.should == [
13
+ expect(@menu_level.to_a).to eq [
14
14
  {:title => "Title1", :href => "/path1"},
15
15
  {:title => "Title2", :href => "/path2", :children => [
16
16
  { :title => "SubTitle", :href => "/path2/subpath" }
@@ -17,10 +17,10 @@ describe Mmmenu do
17
17
  end
18
18
 
19
19
  before(:each) do
20
- @request = mock('request')
21
- @request.stub!(:path).and_return('/items1/new')
22
- @request.stub!(:method).and_return('get')
23
- @request.stub!(:params).and_return({})
20
+ @request = double('request')
21
+ allow(@request).to receive(:path).and_return('/items1/new')
22
+ allow(@request).to receive(:method).and_return('get')
23
+ allow(@request).to receive(:params).and_return({})
24
24
  @menu = Mmmenu.new(:items => @items, :request => @request )
25
25
  end
26
26
 
@@ -33,7 +33,7 @@ describe Mmmenu do
33
33
  " #{text}: #{link} current\n"
34
34
  end
35
35
  @menu.level_markup(1) { |menu| menu }
36
- @menu.build.should == <<END
36
+ expect(@menu.build).to eq <<END
37
37
  Item1: current
38
38
  Create: /items1/new current
39
39
  Index: /items1/
@@ -43,6 +43,7 @@ Item3: /items3
43
43
  Item4: /items4
44
44
  END
45
45
 
46
+
46
47
  end
47
48
 
48
49
  it "chooses the current item depending on request type" do
@@ -50,13 +51,13 @@ END
50
51
  { :title => 'item1', :href => '/item1', :paths => [['/item', 'post']] },
51
52
  { :title => 'item2', :href => '/item2', :paths => [['/item', 'get']] }
52
53
  ]
53
- request = mock('request')
54
- request.should_receive(:path).once.and_return('/item')
55
- request.should_receive(:method).once.and_return('get')
56
- request.should_receive(:params).once.and_return({})
54
+ request = double('request')
55
+ allow(request).to receive(:path).once.and_return('/item')
56
+ allow(request).to receive(:method).once.and_return('get')
57
+ allow(request).to receive(:params).once.and_return({})
57
58
  @menu = Mmmenu.new(:items => items, :request => request )
58
59
  set_menu_markup
59
- @menu.build.should == <<END
60
+ expect(@menu.build).to eq <<END
60
61
  item1: /item1
61
62
  item2: /item2 current
62
63
  END
@@ -69,13 +70,13 @@ END
69
70
  { :title => 'item2', :href => '/item1', :paths => [['/item1', 'get', {:param => 2}]] },
70
71
  { :title => 'item3', :href => '/item1', :paths => [['/item1', 'get', {:param => nil}]] }
71
72
  ]
72
- request = mock('request')
73
- request.should_receive(:path).once.and_return('/item1')
74
- request.should_receive(:params).once.and_return({"param" => "1"})
75
- request.should_receive(:method).once.and_return('get')
73
+ request = double('request')
74
+ allow(request).to receive(:path).once.and_return('/item1')
75
+ allow(request).to receive(:params).once.and_return({"param" => "1"})
76
+ allow(request).to receive(:method).once.and_return('get')
76
77
  @menu = Mmmenu.new(:items => items, :request => request )
77
78
  set_menu_markup
78
- @menu.build.should == <<END
79
+ expect(@menu.build).to eq <<END
79
80
  item1: /item1 current
80
81
  item2: /item1
81
82
  item3: /item1
@@ -88,15 +89,15 @@ END
88
89
  { :title => 'item2', :href => '/item2' },
89
90
  { :title => 'item3', :href => '/item3' }
90
91
  ]
91
- request = mock('request')
92
- request.should_receive(:path).once.and_return('/item1')
93
- request.should_receive(:method).once.and_return('get')
94
- request.should_receive(:params).once
92
+ request = double('request')
93
+ allow(request).to receive(:path).once.and_return('/item1')
94
+ allow(request).to receive(:method).once.and_return('get')
95
+ allow(request).to receive(:params).once
95
96
  @menu = Mmmenu.new(:items => items, :request => request )
96
97
  @menu.current_item = "/item2"
97
98
  set_menu_markup
98
99
 
99
- @menu.build.should == <<END
100
+ expect(@menu.build).to eq <<END
100
101
  item1: /item1
101
102
  item2: /item2 current
102
103
  item3: /item3
@@ -114,7 +115,7 @@ END
114
115
  end
115
116
  set_menu_markup
116
117
 
117
- @menu.build.should == <<END
118
+ expect(@menu.build).to eq <<END
118
119
  Item1: /items1 current
119
120
  Item2: /items2
120
121
  New: /item2/new
@@ -134,7 +135,7 @@ END
134
135
  end
135
136
  set_menu_markup
136
137
 
137
- @menu.build.should == <<END
138
+ expect(@menu.build).to eq <<END
138
139
  Item1: /items1 current
139
140
  Item2: /items2
140
141
  New: /item2/new
@@ -143,6 +144,12 @@ END
143
144
 
144
145
  end
145
146
 
147
+
148
+ it "returns current item title and url" do
149
+ @menu.build
150
+ expect(@menu.current_item).to eq({:title=>"Create", :href=>"/items1/new", :paths=>["/items1/new"], :html_options=>{}})
151
+ end
152
+
146
153
  def set_menu_markup(level=1)
147
154
  @menu.item_markup(level) do |link, text, options|
148
155
  "#{text}: #{link}\n"
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmmenu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
5
- prerelease:
4
+ version: 0.5.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Roman Snitko
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-04 00:00:00.000000000 Z
11
+ date: 2014-07-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: jeweler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
- version: 1.6.4
47
+ version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
- version: 1.6.4
54
+ version: '0'
62
55
  description: Defines multilevel menu structures, uses custom html templates to render
63
56
  them.
64
57
  email: roman.snitko@gmail.com
@@ -67,6 +60,7 @@ extensions: []
67
60
  extra_rdoc_files:
68
61
  - README.markdown
69
62
  files:
63
+ - ".rspec"
70
64
  - Gemfile
71
65
  - Gemfile.lock
72
66
  - README.markdown
@@ -89,29 +83,25 @@ files:
89
83
  homepage: http://github.com/snitko/mmmenu
90
84
  licenses:
91
85
  - MIT
86
+ metadata: {}
92
87
  post_install_message:
93
88
  rdoc_options: []
94
89
  require_paths:
95
90
  - lib
96
91
  required_ruby_version: !ruby/object:Gem::Requirement
97
- none: false
98
92
  requirements:
99
- - - ! '>='
93
+ - - ">="
100
94
  - !ruby/object:Gem::Version
101
95
  version: '0'
102
- segments:
103
- - 0
104
- hash: 3008671744595032140
105
96
  required_rubygems_version: !ruby/object:Gem::Requirement
106
- none: false
107
97
  requirements:
108
- - - ! '>='
98
+ - - ">="
109
99
  - !ruby/object:Gem::Version
110
100
  version: '0'
111
101
  requirements: []
112
102
  rubyforge_project:
113
- rubygems_version: 1.8.24
103
+ rubygems_version: 2.2.2
114
104
  signing_key:
115
- specification_version: 3
105
+ specification_version: 4
116
106
  summary: Flexible menu generator for Rails.
117
107
  test_files: []