cdn_tags 0.1.1 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 753e08abadd21757ef097a030e46a141fe561539
4
- data.tar.gz: 4533fe9691d5a3d6ad3b45051267c2e3c66570a9
3
+ metadata.gz: 7882463fd9f4b646d015a8c558bdecb8bd2ca188
4
+ data.tar.gz: 3c840551c8eaec7d476e88e58ad16170afbd03dc
5
5
  SHA512:
6
- metadata.gz: d515bbb0d6fef2f706df5beff491ab3c0793095deaf591bd1f69522255b94490b517cba4e7f1d0b75041c7aa22aab09958af608349fe2b85f4e48b32b4ccc8bf
7
- data.tar.gz: 3e1daa083fb52e55aee848bad52312efafbe2c338a15307c284ab35500c881474f6d82eefa17fca32567689cce313e2cead62cad28332e36ecfcfca849256bd6
6
+ metadata.gz: b95d17ef764ecc8428fd3d4d7aba035e7fce3f473a1f1b5acb4b4e61b42d150f2fa9e0e389a295abe8eebd60876f4de3169dc24eacc78c7387cb7ad5e6ddd940
7
+ data.tar.gz: 4c3423b373f0c1b554dd77ab8bf6e5a7498f9580e77cd46f2a3a6e168954e8762f5eefef5e017c3a4c21de0497b77589ed777be2adac6daca7b15e05a2b30629
@@ -2,12 +2,23 @@ require 'rails'
2
2
 
3
3
  module CdnTags
4
4
  class Configuration
5
- attr_accessor :urls, :environment, :raise_on_missing
5
+ attr_accessor :scripts_urls, :stylesheets_urls, :environment
6
+ attr_accessor :raise_on_missing, :add_to_precompile
6
7
 
7
8
  def initialize
8
- self.urls = {}
9
+ self.scripts_urls = {}
10
+ self.stylesheets_urls = {}
9
11
  self.environment = Rails.env
10
12
  self.raise_on_missing = false
13
+ self.add_to_precompile = true
14
+ end
15
+
16
+ def update_rails_precompile!
17
+ return unless self.add_to_precompile
18
+ scripts_precompile = self.scripts_urls.keys.map { |s| File.extname(s) == '' ? "#{s}.js" : s }
19
+ stylesheets_precompile = self.stylesheets_urls.keys.map { |s| File.extname(s) == '' ? "#{s}.css" : s }
20
+ added_precompile = scripts_precompile + stylesheets_precompile
21
+ Rails.application.config.assets.precompile += added_precompile
11
22
  end
12
23
  end
13
24
  end
@@ -4,22 +4,22 @@ module CdnTags
4
4
  module Helpers
5
5
  def javascript_cdn_include_tag(*sources)
6
6
  options = sources.extract_options!
7
- mapped_sources = CdnTags.map_sources(sources)
7
+ mapped_sources = CdnTags.map_sources(sources, :scripts_urls)
8
8
  javascript_include_tag *mapped_sources, options
9
9
  end
10
10
 
11
11
  def stylesheet_cdn_link_tag(*sources)
12
12
  options = sources.extract_options!
13
- mapped_sources = CdnTags.map_sources(sources)
13
+ mapped_sources = CdnTags.map_sources(sources, :stylesheets_urls)
14
14
  stylesheet_link_tag *mapped_sources, options
15
15
  end
16
16
  end
17
17
 
18
- def self.map_sources(sources)
18
+ def self.map_sources(sources, config_key)
19
19
  config = CdnTags.configuration
20
20
  return sources unless config.environment.to_sym == :production
21
21
  sources.map do |s|
22
- src = config.urls[s]
22
+ src = config.send(config_key)[s]
23
23
  if src.nil?
24
24
  raise CdnTags::Error.new(config), "#{s} is not defined. Check CdnTags configuration." if config.raise_on_missing
25
25
  s
@@ -1,3 +1,3 @@
1
1
  module CdnTags
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/cdn_tags.rb CHANGED
@@ -9,6 +9,7 @@ module CdnTags
9
9
 
10
10
  def self.configure
11
11
  yield self.configuration
12
+ self.configuration.update_rails_precompile!
12
13
  end
13
14
 
14
15
  def self.included(base)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdn_tags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Perez