jquery_tag 0.0.1 → 0.0.2
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.
- 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