jquery_tag 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +13 -28
- data/Rakefile +5 -7
- data/jquery_tag.gemspec +1 -1
- data/lib/jquery_tag/version.rb +1 -1
- data/lib/jquery_tag/view_helpers.rb +19 -9
- data/spec/jquery_tag_spec.rb +53 -0
- data/spec/spec_helper.rb +22 -0
- metadata +11 -10
- data/test/jquery_tag_test.rb +0 -31
- data/test/support.rb +0 -25
- data/test/test_helper.rb +0 -10
data/Gemfile.lock
CHANGED
@@ -1,42 +1,27 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
jquery_tag (0.0.
|
4
|
+
jquery_tag (0.0.2)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: http://rubygems.org/
|
8
8
|
specs:
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
activemodel (3.0.0)
|
21
|
-
activesupport (= 3.0.0)
|
22
|
-
builder (~> 2.1.2)
|
23
|
-
i18n (~> 0.4.1)
|
24
|
-
activesupport (3.0.0)
|
25
|
-
builder (2.1.2)
|
26
|
-
erubis (2.6.6)
|
27
|
-
abstract (>= 1.0.0)
|
28
|
-
i18n (0.4.1)
|
29
|
-
rack (1.2.1)
|
30
|
-
rack-mount (0.6.13)
|
31
|
-
rack (>= 1.0.0)
|
32
|
-
rack-test (0.5.6)
|
33
|
-
rack (>= 1.0)
|
34
|
-
tzinfo (0.3.23)
|
9
|
+
diff-lcs (1.1.2)
|
10
|
+
rspec (2.0.0)
|
11
|
+
rspec-core (= 2.0.0)
|
12
|
+
rspec-expectations (= 2.0.0)
|
13
|
+
rspec-mocks (= 2.0.0)
|
14
|
+
rspec-core (2.0.0)
|
15
|
+
rspec-expectations (2.0.0)
|
16
|
+
diff-lcs (>= 1.1.2)
|
17
|
+
rspec-mocks (2.0.0)
|
18
|
+
rspec-core (= 2.0.0)
|
19
|
+
rspec-expectations (= 2.0.0)
|
35
20
|
|
36
21
|
PLATFORMS
|
37
22
|
ruby
|
38
23
|
|
39
24
|
DEPENDENCIES
|
40
|
-
actionpack
|
41
25
|
bundler (>= 1.0.0)
|
42
26
|
jquery_tag!
|
27
|
+
rspec (>= 2.0.0)
|
data/Rakefile
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
require 'bundler'
|
2
|
-
require '
|
2
|
+
require 'rspec/core/rake_task'
|
3
3
|
Bundler::GemHelper.install_tasks
|
4
4
|
|
5
|
-
desc
|
6
|
-
|
7
|
-
|
8
|
-
t.pattern = 'test/**/*_test.rb'
|
9
|
-
t.verbose = true
|
5
|
+
desc "Run specs"
|
6
|
+
RSpec::Core::RakeTask.new do |task|
|
7
|
+
task.rspec_opts = ["-c"]
|
10
8
|
end
|
11
9
|
|
12
|
-
task :default => :
|
10
|
+
task :default => :spec
|
data/jquery_tag.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
|
14
14
|
s.required_rubygems_version = ">= 1.3.6"
|
15
15
|
s.add_development_dependency "bundler", ">= 1.0.0"
|
16
|
-
s.add_development_dependency "
|
16
|
+
s.add_development_dependency "rspec", ">= 2.0.0"
|
17
17
|
|
18
18
|
s.files = `git ls-files`.split("\n")
|
19
19
|
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
data/lib/jquery_tag/version.rb
CHANGED
@@ -1,17 +1,27 @@
|
|
1
1
|
module Jquery
|
2
2
|
module Tag
|
3
3
|
module ViewHelpers
|
4
|
+
def jquery_tag(*args)
|
5
|
+
|
6
|
+
options = args.first.is_a?(Hash) ? args.pop : {}
|
4
7
|
|
5
|
-
|
6
|
-
|
7
|
-
path = options.delete(:file) || "jquery.js"
|
8
|
-
version = options.delete(:version) || "1.4.2"
|
8
|
+
args.unshift(jquery_ui_file(options[:ui])) if options[:ui]
|
9
|
+
args.unshift(jquery_file(options[:file], options[:version]))
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
javascript_include_tag args
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
def jquery_file(path, version)
|
16
|
+
path ||= 'jquery.js'
|
17
|
+
version ||= '1.4.3'
|
18
|
+
Rails.env.production? ? "http://ajax.googleapis.com/ajax/libs/jquery/#{version}/jquery.min.js" : path
|
19
|
+
end
|
20
|
+
|
21
|
+
def jquery_ui_file(path)
|
22
|
+
path = path.is_a?(String) ? path : "jquery-ui.js"
|
23
|
+
Rails.env.production? ? 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js' : path
|
24
|
+
end
|
15
25
|
end
|
16
26
|
end
|
17
27
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Jquery::Tag::ViewHelpers do
|
4
|
+
include Jquery::Tag::ViewHelpers
|
5
|
+
|
6
|
+
context "development" do
|
7
|
+
before { development! }
|
8
|
+
|
9
|
+
it "renders a local jquery.js file" do
|
10
|
+
expects_include_with ['jquery.js']
|
11
|
+
jquery_tag
|
12
|
+
end
|
13
|
+
|
14
|
+
it "delegates any other arguments" do
|
15
|
+
expects_include_with ['jquery.js', 'application.js']
|
16
|
+
jquery_tag 'application.js'
|
17
|
+
end
|
18
|
+
|
19
|
+
it "accepts a different path for the local jquery file" do
|
20
|
+
expects_include_with ['frameworks/jquery.min.js']
|
21
|
+
jquery_tag :file => "frameworks/jquery.min.js"
|
22
|
+
end
|
23
|
+
|
24
|
+
it "renders the jquery-ui.js file" do
|
25
|
+
expects_include_with ['jquery.js', 'jquery-ui.js']
|
26
|
+
jquery_tag :ui => true
|
27
|
+
end
|
28
|
+
|
29
|
+
it "receives a path to the jquery-ui.js file" do
|
30
|
+
expects_include_with ['jquery.js', 'frameworks/jquery-ui.js']
|
31
|
+
jquery_tag :ui => 'frameworks/jquery-ui.js'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "production" do
|
36
|
+
before { production! }
|
37
|
+
|
38
|
+
it "uses the google CDN path" do
|
39
|
+
expects_include_with ['http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js']
|
40
|
+
jquery_tag
|
41
|
+
end
|
42
|
+
|
43
|
+
it "accepts a different version for the jquery script" do
|
44
|
+
expects_include_with ['http://ajax.googleapis.com/ajax/libs/jquery/1.0.0/jquery.min.js']
|
45
|
+
jquery_tag :version => '1.0.0'
|
46
|
+
end
|
47
|
+
|
48
|
+
it "uses the google CDN path for the jquery ui script" do
|
49
|
+
expects_include_with ['http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js']
|
50
|
+
jquery_tag :ui => true
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'jquery_tag/view_helpers'
|
2
|
+
|
3
|
+
module Rails
|
4
|
+
end
|
5
|
+
|
6
|
+
module SpecHelper
|
7
|
+
def production!
|
8
|
+
Rails.stub_chain(:env, :production?) { true }
|
9
|
+
end
|
10
|
+
|
11
|
+
def development!
|
12
|
+
Rails.stub_chain(:env, :production?) { false }
|
13
|
+
end
|
14
|
+
|
15
|
+
def expects_include_with(*args)
|
16
|
+
should_receive(:javascript_include_tag).with(*args)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
RSpec.configure do |config|
|
21
|
+
config.include SpecHelper
|
22
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery_tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Lucas Mazza
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-18 00:00:00 -02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -35,17 +35,19 @@ dependencies:
|
|
35
35
|
type: :development
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
38
|
+
name: rspec
|
39
39
|
prerelease: false
|
40
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
45
|
+
hash: 15
|
46
46
|
segments:
|
47
|
+
- 2
|
47
48
|
- 0
|
48
|
-
|
49
|
+
- 0
|
50
|
+
version: 2.0.0
|
49
51
|
type: :development
|
50
52
|
version_requirements: *id002
|
51
53
|
description: Helper gem that toggles between local jquery script and Google CDN version based on your app environment
|
@@ -67,9 +69,8 @@ files:
|
|
67
69
|
- lib/jquery_tag.rb
|
68
70
|
- lib/jquery_tag/version.rb
|
69
71
|
- lib/jquery_tag/view_helpers.rb
|
70
|
-
-
|
71
|
-
-
|
72
|
-
- test/test_helper.rb
|
72
|
+
- spec/jquery_tag_spec.rb
|
73
|
+
- spec/spec_helper.rb
|
73
74
|
has_rdoc: true
|
74
75
|
homepage: http://rubygems.org/gems/jquery_tag
|
75
76
|
licenses: []
|
data/test/jquery_tag_test.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
class HelperTest < ActionView::TestCase
|
3
|
-
tests Jquery::Tag::ViewHelpers
|
4
|
-
|
5
|
-
test "should render a script tag for a local jquery.js file" do
|
6
|
-
environment :development do
|
7
|
-
assert_match /\/javascripts\/jquery.js/, jquery_tag
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
test "should accept a different path for the local script file" do
|
12
|
-
environment :development do
|
13
|
-
assert_match /\/javascripts\/frameworks\/jquery.min.js/, jquery_tag(:file => "frameworks/jquery.min.js")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
test "should use the Google CDN url when in production environment" do
|
18
|
-
environment :production do
|
19
|
-
assert_match /ajax.googleapis.com\/\S*\/1.4.2\/jquery.min.js/, jquery_tag
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
test "should accept another jquery version for the Google CDN" do
|
24
|
-
environment :production do
|
25
|
-
assert_match /ajax.googleapis.com\/\S*\/1.4.1\/jquery.min.js/, jquery_tag(:version => "1.4.1")
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
|
data/test/support.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
Jquery::Routes = ActionDispatch::Routing::RouteSet.new
|
2
|
-
Jquery::Routes.draw do
|
3
|
-
match ':controller(/:action(/:id(.:format)))'
|
4
|
-
end
|
5
|
-
|
6
|
-
class ApplicationController < ActionController::Base; end
|
7
|
-
ActionController::Base.send :include, Jquery::Routes.url_helpers
|
8
|
-
|
9
|
-
# Here we have some lame workarounds for testing.
|
10
|
-
ENV["RAILS_ASSET_ID"] = ""
|
11
|
-
|
12
|
-
module Rails
|
13
|
-
def self.env
|
14
|
-
@_env ||= ActiveSupport::StringInquirer.new("development")
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.env=(env)
|
18
|
-
@_env = env
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def environment(env)
|
23
|
-
Rails.env = ActiveSupport::StringInquirer.new(env.to_s)
|
24
|
-
yield
|
25
|
-
end
|
data/test/test_helper.rb
DELETED