tension 0.9.1 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a9cf71e35efaa0ea2e7eb78d0052a2df8b45b632
4
- data.tar.gz: b24c477ef7dc0caee9c6822876b94d9dfcf131ce
3
+ metadata.gz: 69774653d546060ae567082eed766dec21e960e1
4
+ data.tar.gz: b2010ae61c8cac4764b644747df83ec5424f2c4f
5
5
  SHA512:
6
- metadata.gz: 3bd97a878212cc03faa6ea81a407f8dbb1b454070680e23f881b734bb5450fadf5a78008e1b6da00211d2621cd4d8004fbac8f890b9d23a33e844bc05196e096
7
- data.tar.gz: 0fbcadf94b6608f3ea34b189995224c3fe24a29158a6f1b178cb3d611214b761154f2b83a7f642c93dd712f9b6f6455f23d86f3bd399f46f3cfa048520decf2b
6
+ metadata.gz: 54f20566dabb047d69083bad4f754cccffd35daddecfdf5ac6f0b7447d85063e2a65ec60dbb0851dfc1049035ba6b08468c9c913a57b021a3cf38af104d51de0
7
+ data.tar.gz: 815605457bed700c1edaa25abba43fc10abd2415d653ede03515557b3cf0d553726315ba784fa3ea6e81f9018b8e8338b7d336da2947b90441eabe71ce016373
@@ -49,9 +49,11 @@ module Tension
49
49
  # }
50
50
  #
51
51
  def asset_map
52
- if @asset_map.nil?
53
- @asset_map = Hash.new
54
- globals = Hash.new
52
+ @asset_map = nil if Rails.env.development?
53
+
54
+ @asset_map ||= begin
55
+ map = Hash.new
56
+ globals = Hash.new
55
57
 
56
58
  ASSET_TYPES.each do |type|
57
59
  # Find and store the global asset for this type.
@@ -61,9 +63,7 @@ module Tension
61
63
 
62
64
  # TODO: add support for looking up the tree...
63
65
  search_paths.each_pair do |controller_path, actions|
64
- next unless local_controller?( controller_path )
65
-
66
- @asset_map.store( controller_path, Hash.new )
66
+ map.store( controller_path, Hash.new )
67
67
 
68
68
  ASSET_TYPES.each do |type|
69
69
  # Attempt to locate a common asset for this controller.
@@ -71,22 +71,21 @@ module Tension
71
71
  common_asset = valid_asset( common_path ) || globals.fetch( type[:extension] )
72
72
 
73
73
  actions.each do |action|
74
- if @asset_map[ controller_path ][ action ].nil?
75
- @asset_map.fetch( controller_path )
76
- .store( action, Hash.new )
74
+ unless map[ controller_path ].has_key?( action )
75
+ map.fetch( controller_path ).store( action, Hash.new )
77
76
  end
78
77
 
79
78
  action_asset = valid_asset( "#{ [ controller_path, action ].join("/") }.#{ type[:extension] }" )
80
- @asset_map.fetch( controller_path )
81
- .fetch( action )
82
- .store( type[:extension], action_asset || common_asset )
79
+ map.fetch( controller_path )
80
+ .fetch( action )
81
+ .store( type[:extension], action_asset || common_asset )
83
82
  end
84
83
  end
85
84
 
86
85
  end
87
- end
88
86
 
89
- @asset_map
87
+ map
88
+ end
90
89
  end
91
90
 
92
91
  # All unique, existing asset paths.
@@ -131,7 +130,7 @@ module Tension
131
130
  # configured GET routes.
132
131
  #
133
132
  def configured_route_defaults
134
- if @configured_route_defaults.nil?
133
+ @configured_route_defaults ||= begin
135
134
  get_routes = Rails.application.routes.routes.find_all do |route|
136
135
  route.verb.match("GET")
137
136
  end
@@ -142,8 +141,6 @@ module Tension
142
141
 
143
142
  @configured_route_defaults.compact!
144
143
  end
145
-
146
- @configured_route_defaults
147
144
  end
148
145
 
149
146
  # Returns: a real BundledAsset present in the Sprockets index, or nil
@@ -152,15 +149,6 @@ module Tension
152
149
  def valid_asset asset_path
153
150
  Rails.application.assets.find_asset( asset_path )
154
151
  end
155
-
156
- # Returns: true if the controller targeted in the routes is present in this
157
- # app's local code rather than in a gem. Gems are responsible for ensuring
158
- # availability of their own assets.
159
- #
160
- def local_controller? controller_path
161
- File.exists?("#{ Rails.root }/app/controllers/#{ controller_path }_controller.rb")
162
- end
163
-
164
152
  end
165
153
 
166
154
  end
@@ -1,16 +1,16 @@
1
- require "tension"
1
+ require 'tension'
2
2
 
3
3
  module Tension
4
- require "rails"
4
+ require 'rails'
5
5
 
6
6
  class Railtie < Rails::Railtie
7
7
  initializer "tension.add_assets_to_precompile_list" do |app|
8
8
  ActiveSupport.on_load :after_initialize do
9
9
 
10
10
  Rails.application.reload_routes!
11
- Tension.load_assets!
11
+ Tension.load_assets! unless Rails.env.development? or Rails.env.test?
12
12
 
13
- ApplicationHelper.send(:include, Tension::TensionHelper)
13
+ ActionView::Base.send(:include, Tension::TensionHelper)
14
14
 
15
15
  Rails.application.config.assets.precompile << lambda do |path, filename|
16
16
  Tension::Environment.asset_paths.include?( filename )
@@ -1,3 +1,5 @@
1
+ require 'active_support/concern'
2
+
1
3
  module Tension
2
4
 
3
5
  # Tagger is included in ActionView::Helpers so it can be called from
@@ -5,12 +7,11 @@ module Tension
5
7
  module TensionHelper
6
8
  extend ActiveSupport::Concern
7
9
 
8
- # Just call
9
10
  def asset_for type, *args
10
- asset = Tension::Environment.asset_map
11
- .fetch( request.params[:controller] )
12
- .fetch( request.params[:action] )
13
- .fetch( type.to_s )
11
+ controller = request.params[:controller]
12
+ action = request.params[:action]
13
+
14
+ asset = Tension::Environment.asset_map[ controller ][ action ][ type.to_s ]
14
15
 
15
16
  include_method = case type
16
17
  when :js
@@ -19,7 +20,7 @@ module Tension
19
20
  :stylesheet_link_tag
20
21
  end
21
22
 
22
- send( include_method, asset.logical_path, *args )
23
+ send( include_method, asset.logical_path, *args ) unless asset.nil?
23
24
  end
24
25
  end
25
26
 
@@ -0,0 +1,3 @@
1
+ module Tension
2
+ VERSION = "0.9.3".freeze
3
+ end
data/lib/tension.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'active_support/ordered_options'
2
-
3
1
  require 'tension/environment'
4
2
  require 'tension/railtie' if defined?(Rails)
5
3
  require 'tension/tension_helper'
@@ -8,14 +6,4 @@ module Tension
8
6
  def self.load_assets!
9
7
  !!Tension::Environment.asset_map
10
8
  end
11
-
12
- # def self.config
13
- # @config ||= begin
14
- # config = ActiveSupport::OrderedOptions.new
15
-
16
- # config.enabled = !Rails.env.development? && !Rails.env.test?
17
-
18
- # config
19
- # end
20
- # end
21
9
  end
data/tension.gemspec CHANGED
@@ -1,8 +1,11 @@
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+ require 'tension/version'
3
+
1
4
  Gem::Specification.new do |s|
2
5
  s.name = "tension"
3
6
 
4
- s.version = "0.9.1"
5
- s.date = "2013-03-21"
7
+ s.version = Tension::VERSION
8
+ s.date = "2013-04-10"
6
9
  s.license = "MIT"
7
10
 
8
11
  s.summary = "Tighten up Rails's asset pipeline for CSS & JS."
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tension
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piers Mainwaring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-21 00:00:00.000000000 Z
11
+ date: 2013-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -37,6 +37,7 @@ files:
37
37
  - lib/tension/environment.rb
38
38
  - lib/tension/railtie.rb
39
39
  - lib/tension/tension_helper.rb
40
+ - lib/tension/version.rb
40
41
  - tension.gemspec
41
42
  homepage: https://github.com/piersadrian/tension
42
43
  licenses: