Module: CompassRails4
- Extended by:
- CompassRails4
- Included in:
- CompassRails4
- Defined in:
- lib/compass-rails4.rb,
lib/compass-rails4/version.rb,
lib/compass-rails4/configuration.rb,
lib/compass-rails4/patches/sass_importer.rb,
lib/compass-rails4/patches/sprite_importer.rb,
lib/compass-rails4/railtie.rb
Defined Under Namespace
Modules: Configuration, SassTemplate
Classes: Railtie, SpriteImporter
Constant Summary
collapse
- RAILS_4 =
%r{^4.[0|1]}
- VERSION =
"0.1.1"
Instance Method Summary
collapse
Instance Method Details
#app ⇒ Object
22
23
24
|
# File 'lib/compass-rails4.rb', line 22
def app
::Rails.application
end
|
#boot_config ⇒ Object
128
129
130
131
132
133
134
135
136
|
# File 'lib/compass-rails4.rb', line 128
def boot_config
config = if (config_file = Compass.detect_configuration_file) && (config_data = Compass.configuration_for(config_file))
config_data
else
Compass::Configuration::Data.new("compass_rails_boot")
end
config.top_level.project_type = :rails
config
end
|
#booted! ⇒ Object
67
68
69
|
# File 'lib/compass-rails4.rb', line 67
def booted!
CompassRails4.const_set(:BOOTED, true)
end
|
#check_for_double_boot! ⇒ Object
98
99
100
101
102
103
104
|
# File 'lib/compass-rails4.rb', line 98
def check_for_double_boot!
if booted?
Compass::Util.compass_warn("Warning: Compass was booted twice. Compass-rails4 has got your back; please remove your compass initializer.")
else
booted!
end
end
|
#configuration ⇒ Object
75
76
77
78
79
80
|
# File 'lib/compass-rails4.rb', line 75
def configuration
load_rails
config = Compass::Configuration::Data.new('rails')
config.extend(Configuration::AssetPipeline)
config
end
|
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
# File 'lib/compass-rails4.rb', line 106
def configure_rails!(app)
return unless app.config.respond_to?(:sass)
sass_config = app.config.sass
compass_config = app.config.compass
sass_config.load_paths.concat(compass_config.sass_load_paths)
{ :output_style => :style,
:line_comments => :line_comments,
:cache => :cache,
:disable_warnings => :quiet,
:preferred_syntax => :preferred_syntax
}.each do |compass_option, sass_option|
set_maybe sass_config, compass_config, sass_option, compass_option
end
if compass_config.sass_options
compass_config.sass_options.each do |config, value|
sass_config.send("#{config}=", value)
end
end
end
|
#context ⇒ Object
40
41
42
43
|
# File 'lib/compass-rails4.rb', line 40
def context
load_rails
@context ||= sprockets.context_class
end
|
#env ⇒ Object
82
83
84
|
# File 'lib/compass-rails4.rb', line 82
def env
env_production? ? :production : :development
end
|
#env_production? ⇒ Boolean
90
91
92
|
# File 'lib/compass-rails4.rb', line 90
def env_production?
rails? && ::Rails.env.production?
end
|
#load_rails ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/compass-rails4.rb', line 10
def load_rails
return if rails_loaded?
rails_config_path = Dir.pwd
until File.exists?(File.join(rails_config_path, 'config', 'environment.rb')) do
raise 'Rails application not found' if rails_config_path == '/'
rails_config_path = File.join(rails_config_path, '..')
end
require "#{rails_config_path}/config/environment"
end
|
#prefix ⇒ Object
86
87
88
|
# File 'lib/compass-rails4.rb', line 86
def prefix
rails_config.assets.prefix
end
|
#rails4? ⇒ Boolean
59
60
61
|
# File 'lib/compass-rails4.rb', line 59
def rails4?
rails? && version_match(RAILS_4)
end
|
#rails? ⇒ Boolean
45
46
47
|
# File 'lib/compass-rails4.rb', line 45
def rails?
defined?(::Rails)
end
|
#rails_config ⇒ Object
26
27
28
|
# File 'lib/compass-rails4.rb', line 26
def rails_config
app.config
end
|
#rails_loaded? ⇒ Boolean
49
50
51
|
# File 'lib/compass-rails4.rb', line 49
def rails_loaded?
rails? && app
end
|
#rails_version ⇒ Object
53
54
55
56
57
|
# File 'lib/compass-rails4.rb', line 53
def rails_version
rails_spec = Gem.loaded_specs["railties"]
raise "You have to require Rails before compass" unless rails_spec
rails_spec.version.to_s
end
|
#root ⇒ Object
94
95
96
|
# File 'lib/compass-rails4.rb', line 94
def root
@root ||= rails? ? ::Rails.root : Pathname.new(Dir.pwd)
end
|
#sass_config ⇒ Object
30
31
32
33
|
# File 'lib/compass-rails4.rb', line 30
def sass_config
load_rails
rails_config.sass
end
|
#sprockets ⇒ Object
35
36
37
38
|
# File 'lib/compass-rails4.rb', line 35
def sprockets
load_rails
@sprockets ||= app.assets
end
|
#version_match(version) ⇒ Object
63
64
65
|
# File 'lib/compass-rails4.rb', line 63
def version_match(version)
!(rails_version =~ version).nil?
end
|