dekiru 0.0.12 → 0.0.13

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 44c9a7e0ad3602d3e665926f79352c5c71d729c9
4
- data.tar.gz: 844fbd4a34bd108f62eda72e28b0f72f70db8273
3
+ metadata.gz: cd5a7fc14faa2c42c45038e12d68c4788ceba430
4
+ data.tar.gz: c2102fa4f4ba153dec9bd3a668bdf80ce1e45f7c
5
5
  SHA512:
6
- metadata.gz: b180e6b46f8564a097840027a9bae749c47dcad659ede9cb548c9009d451e6eeb5c5cfbb9e700f1cb572635b12f913511fbcb84f8de6ee0e1c8c6d968a75324b
7
- data.tar.gz: 7635486c4d811bab103688851aef450cd36a01f08a076c7cea74a8d6db99b45f628234f6b89204f711dcaec3b07aab9a7e2f0cb7f70c138c4828a38da17d5020
6
+ metadata.gz: f8c7da994f0703d883a79f0c57886ea9aae63e856211b21af7697c44a505ffd35a20151b0378d3b36a42d7415b08c5b08bbfb92ed4fccb9b9e3a6afab97c782d
7
+ data.tar.gz: 5364ca6d5908249904699c8d67f3efeb8231eb46162c9a71d6a17963815a293e69e664737eb6b63bf2b9fbaf4976a58e5eea39d13cc3820c34894c76caf3d5fd
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+ require 'rspec/core/rake_task'
4
+
5
+ task :default => :spec
6
+
7
+ RSpec::Core::RakeTask.new do |t|
8
+ t.rspec_opts = ['--color', "--format progress"]
9
+ t.pattern = 'spec/dekiru/**/*_spec.rb'
10
+ end
data/dekiru.gemspec CHANGED
@@ -16,5 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Dekiru::VERSION
17
17
 
18
18
  gem.add_dependency 'http_accept_language', [">= 2.0.0"]
19
+ gem.add_dependency 'rails'
19
20
  gem.add_development_dependency 'rake', [">= 0"]
21
+ gem.add_development_dependency 'rspec'
20
22
  end
data/lib/dekiru.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "dekiru/version"
2
- require "dekiru/railtie"
2
+ require "dekiru/railtie" if defined?(::Rails)
3
3
  require "dekiru/helper"
4
4
  require "dekiru/controller_additions"
5
5
 
data/lib/dekiru/helper.rb CHANGED
@@ -1,15 +1,16 @@
1
1
  module Dekiru
2
2
  module Helper
3
- def menu_link_to(*args, &block)
4
- url_obj = block_given? ? args[0] : args[1]
3
+ def menu_link_to(name = nil, options = nil, html_options = nil, &block)
4
+ args = [name, options, html_options]
5
+ html_options, options, name = options, name, block if block_given?
5
6
 
6
- classes = []
7
- classes << "active" if current_page?(url_obj)
7
+ classes = html_options.try(:delete, :li_class).try(:split, ' ') || []
8
+ classes << "active" if current_page?(options)
8
9
 
9
- obj = [url_obj].flatten.last
10
+ obj = [options].flatten.last
10
11
  if obj.is_a?(ActiveRecord::Base)
11
12
  content_tag_for(:li, obj, :class => classes.join(' ')) do
12
- link_to *args, &block
13
+ link_to name, options, html_options, &block
13
14
  end
14
15
  else
15
16
  content_tag(:li, :class => classes.join(' ')) do
@@ -1,3 +1,3 @@
1
1
  module Dekiru
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
@@ -0,0 +1,49 @@
1
+ require "spec_helper"
2
+
3
+ describe Dekiru::Helper do
4
+ let(:helper) do
5
+ class AClass
6
+ include Dekiru::Helper
7
+ include ActionView::Helpers::TagHelper
8
+ include ActionView::Context
9
+ include ActionView::Helpers::UrlHelper
10
+ end
11
+ a = AClass.new
12
+ end
13
+ describe "#menu_link_to" do
14
+ before do
15
+ helper.stub(:current_page?).and_return(true)
16
+ end
17
+ context "一番シンプルな呼び出し" do
18
+ it "動くこと" do
19
+ expect(helper.menu_link_to("テキスト", "/some_path")).to eq("<li class=\"active\"><a href=\"/some_path\">テキスト</a></li>")
20
+ end
21
+ end
22
+ context "blockなし" do
23
+ it "動くこと" do
24
+ expect(helper.menu_link_to("テキスト", "/some_path", class: "some_class")).to eq("<li class=\"active\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
25
+ end
26
+ end
27
+ context "blockあり" do
28
+ it "動くこと" do
29
+ html = helper.menu_link_to("/some_path", class: "some_class") do
30
+ "テキスト"
31
+ end
32
+ expect(html).to eq("<li class=\"active\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
33
+ end
34
+ end
35
+ context "今のページじゃない" do
36
+ before do
37
+ helper.stub(:current_page?).and_return(false)
38
+ end
39
+ it "動くこと" do
40
+ expect(helper.menu_link_to("テキスト", "/some_path", class: "some_class")).to eq("<li class=\"\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
41
+ end
42
+ end
43
+ context "li_class指定あり" do
44
+ it "動くこと" do
45
+ expect(helper.menu_link_to("テキスト", "/some_path", class: "some_class", li_class: "li_class")).to eq("<li class=\"li_class active\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ require 'rspec'
3
+
4
+ # For rails app
5
+ require "active_support"
6
+ require 'active_support/core_ext/object'
7
+ require "active_record"
8
+ require "action_view"
9
+ require "action_view/helpers"
10
+
11
+ PROJECT_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
12
+
13
+ $LOAD_PATH << File.join(PROJECT_ROOT, 'lib')
14
+
15
+ require 'dekiru'
16
+
17
+ Dir.glob(File.join(PROJECT_ROOT, 'spec', 'support', '**', '*.rb')).each do |file|
18
+ require(file)
19
+ end
20
+
21
+ RSpec.configure do |config|
22
+ end
metadata CHANGED
@@ -1,41 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dekiru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akihiro Matsumura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-01 00:00:00.000000000 Z
11
+ date: 2014-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http_accept_language
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - '>='
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
32
60
  - !ruby/object:Gem::Version
33
61
  version: '0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
- - - '>='
66
+ - - ">="
39
67
  - !ruby/object:Gem::Version
40
68
  version: '0'
41
69
  description: Usefull helper methods for Ruby on Rails
@@ -45,7 +73,7 @@ executables: []
45
73
  extensions: []
46
74
  extra_rdoc_files: []
47
75
  files:
48
- - .gitignore
76
+ - ".gitignore"
49
77
  - Gemfile
50
78
  - LICENSE
51
79
  - README.md
@@ -56,6 +84,8 @@ files:
56
84
  - lib/dekiru/helper.rb
57
85
  - lib/dekiru/railtie.rb
58
86
  - lib/dekiru/version.rb
87
+ - spec/dekiru/helper_spec.rb
88
+ - spec/spec_helper.rb
59
89
  homepage: ''
60
90
  licenses: []
61
91
  metadata: {}
@@ -65,12 +95,12 @@ require_paths:
65
95
  - lib
66
96
  required_ruby_version: !ruby/object:Gem::Requirement
67
97
  requirements:
68
- - - '>='
98
+ - - ">="
69
99
  - !ruby/object:Gem::Version
70
100
  version: '0'
71
101
  required_rubygems_version: !ruby/object:Gem::Requirement
72
102
  requirements:
73
- - - '>='
103
+ - - ">="
74
104
  - !ruby/object:Gem::Version
75
105
  version: '0'
76
106
  requirements: []
@@ -79,4 +109,6 @@ rubygems_version: 2.2.2
79
109
  signing_key:
80
110
  specification_version: 4
81
111
  summary: Usefull helper methods for Ruby on Rails
82
- test_files: []
112
+ test_files:
113
+ - spec/dekiru/helper_spec.rb
114
+ - spec/spec_helper.rb