cdn_tags 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c96a93bd020649329e79d38343b30361c7abbab0
4
+ data.tar.gz: a26e34d16b0ff108e29bf74050fb56a144d1c2f2
5
+ SHA512:
6
+ metadata.gz: eb121f0a4ea22fbb37f40a5428d5bf5379b74620f2cc1242ed39e140f681a3d21549fc5eb01b960cf54edd9bde95519f2df507f1b11113ad26acf707c8f32bdd
7
+ data.tar.gz: e6d9f6d5a1cce47e153701cc051a247b5e22f4daf1dd548248b3b3316b9d5507dfb1af5eb12ff40fe491a63c6770ba227bbd3dbcdb3efd4f92e1042286cb91d2
data/Rakefile ADDED
@@ -0,0 +1,32 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'CdnTags'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+ Bundler::GemHelper.install_tasks
21
+
22
+ require 'rake/testtask'
23
+
24
+ Rake::TestTask.new(:test) do |t|
25
+ t.libs << 'lib'
26
+ t.libs << 'test'
27
+ t.pattern = 'test/**/*_test.rb'
28
+ t.verbose = false
29
+ end
30
+
31
+
32
+ task default: :test
@@ -0,0 +1,13 @@
1
+ require 'rails'
2
+
3
+ module CdnTags
4
+ class Configuration
5
+ attr_accessor :urls, :environment, :raise_on_missing
6
+
7
+ def initialize
8
+ self.urls = {}
9
+ self.environment = Rails.env
10
+ self.raise_on_missing = false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ module CdnTags
2
+ class Error < StandardError
3
+ attr_reader :object
4
+
5
+ def initialize(object)
6
+ @object = object
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,31 @@
1
+ require 'active_support'
2
+
3
+ module CdnTags
4
+ module Helpers
5
+ def javascript_cdn_include_tag(*sources)
6
+ options = sources.extract_options!
7
+ mapped_sources = CdnTags.map_sources(sources)
8
+ javascript_include_tag *mapped_sources, options
9
+ end
10
+
11
+ def stylesheet_cdn_link_tag(*sources)
12
+ options = sources.extract_options!
13
+ mapped_sources = CdnTags.map_sources(sources)
14
+ stylesheet_link_tag *mapped_sources, options
15
+ end
16
+ end
17
+
18
+ def self.map_sources(sources)
19
+ config = CdnTags.configuration
20
+ return sources unless config.environment.to_sym == :production
21
+ sources.map do |s|
22
+ src = config.urls[s]
23
+ if src.nil?
24
+ raise CdnTags::Error.new(config), "#{s} is not defined. Check CdnTags configuration." if config.raise_on_missing
25
+ s
26
+ else
27
+ src
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,3 @@
1
+ module CdnTags
2
+ VERSION = "0.1.0"
3
+ end
data/lib/cdn_tags.rb ADDED
@@ -0,0 +1,20 @@
1
+ %w{error configuration helpers}.each do |m|
2
+ require File.join(File.dirname(__FILE__), 'cdn_tags', m)
3
+ end
4
+
5
+ module CdnTags
6
+ def self.configuration
7
+ @configuration ||= Configuration.new
8
+ end
9
+
10
+ def self.configure
11
+ yield self.configuration
12
+ end
13
+
14
+ def self.included(base)
15
+ CdnTags.configuration { |c| nil }
16
+ base.send :include, Helpers
17
+ end
18
+ end
19
+
20
+ ActionView::Base.send(:include, CdnTags) if defined?(ActionView::Base)
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :cdn_tags do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cdn_tags
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Perez
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: jazz_hands
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.5'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.1'
69
+ description:
70
+ email:
71
+ - tuvistavie@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - Rakefile
77
+ - lib/cdn_tags.rb
78
+ - lib/cdn_tags/configuration.rb
79
+ - lib/cdn_tags/error.rb
80
+ - lib/cdn_tags/helpers.rb
81
+ - lib/cdn_tags/version.rb
82
+ - lib/tasks/cdn_tags_tasks.rake
83
+ homepage: https://github.com/claude-tech/rails-cdn-tags
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.2.0
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Helpers to use CDN scripts in Rails production.
107
+ test_files: []
108
+ has_rdoc: