compass-import_once 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MmI0ZjE2MWU0NTUwY2ZjODJlMDFkN2Q4ZTlkOTY0MDNlODZiY2ViOQ==
5
+ data.tar.gz: !binary |-
6
+ YzNkMTc1MmEyODg5OGJmODJlM2M3MTFiNWYyNDUwYzQ0ZTEzOGViMw==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NDZjMGFkYWM0N2I3Mjc1MjdiYzMyMDRlM2U5NmY2N2VmOWRmMjExMjg5YWZj
10
+ YjUwZjhiZDE4MmVjZmJiODU0Y2ViNzA1ZGM2YzNmZTljZmUwZDAxYzRlN2Qx
11
+ ODI2NjIxNjlmYmE5Yjg1YWNmNmQ0NTRjOGIyYTUxNGZjZGJhOTc=
12
+ data.tar.gz: !binary |-
13
+ YjYxMzE0OGYyNGU3MzAyNzA2NzNkOTE0YWJlYTM3MTAwYTJmY2E1MmU2MDNl
14
+ ODUyNDNlZjY3ZDkyNTcyOWM4OTlkMzY3ZTUyOTk3MTMwYjY1ODIwZmY2ZThi
15
+ ZjA1ZGE1MThhMDRhZGRkMjhiZGNmZDE5OWMyYmE4MGNiN2FjMTc=
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .DS_Store
@@ -0,0 +1,3 @@
1
+ # 0.1.0
2
+
3
+ Initial release.
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in sass-import_once.gemspec
4
+ gemspec
5
+
6
+ gem 'rake'
7
+ gem 'sass'
8
+ gem 'sass-import_once', '>= 0.1.2'
@@ -0,0 +1,21 @@
1
+ # Compass Import Once Plugin
2
+
3
+ This gem makes [Sass Import Once](theblacksmith/sass-import_once) work with compass.
4
+
5
+ Sass import_once changes the behaviour of the sass @import directive making never require the same file twice.
6
+
7
+ It's awesome! [Check it out](theblacksmith/sass-import_once)
8
+
9
+ ## Installation
10
+
11
+ $ gem install compass-import_once
12
+
13
+ ## Use with compass
14
+
15
+ Add the following to your compass configuration:
16
+
17
+ require 'compass-import_once'
18
+
19
+ ## Stylesheet Syntax
20
+
21
+ The same as always :)
@@ -0,0 +1,11 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << 'lib'
8
+ t.libs << 'test'
9
+ t.pattern = 'test/**/*_test.rb'
10
+ t.verbose = false
11
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path("../lib/compass/import_once/version", __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "compass-import_once"
6
+ s.version = Compass::ImportOnce::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["The Blacksmith (a.k.a. Saulo Vallory)"]
9
+ s.email = ["me@saulovallory.com"]
10
+ s.homepage = "http://theblacksmithhq.com/"
11
+ s.summary = %q{Makes `sass-import_once` work with compass.}
12
+ s.description = %q{
13
+ Monkey patches compass to make `sass-import_once` work while
14
+ this issue is not solved: https://github.com/chriseppstein/compass/pull/1140
15
+ }
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- test/*`.split("\n")
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_runtime_dependency 'compass', '>= 0.12.2'
22
+ s.add_runtime_dependency 'sass-import_once', '>= 0.1.2'
23
+
24
+ end
@@ -0,0 +1,2 @@
1
+ require 'sass-import_once'
2
+ require 'compass/import_once/monkey_patches'
@@ -0,0 +1,25 @@
1
+ require 'compass'
2
+
3
+ class Compass::Compiler
4
+ alias old_initialize initialize
5
+
6
+ def initialize(working_path, from, to, options)
7
+ old_initialize(working_path, from, to, options)
8
+ self.sass_options[:importer] = Sass::ImportOnce::Importer.new(from)
9
+ end
10
+ end
11
+
12
+ module Compass::Configuration::Adapters
13
+ alias old_sass_load_paths sass_load_paths
14
+
15
+ def sass_load_paths
16
+ load_paths = old_sass_load_paths
17
+
18
+ load_paths.map! do |p|
19
+ next p if p.respond_to?(:find_relative) && !p.is_a?(Sass::Importers::Filesystem)
20
+ Sass::ImportOnce::Importer.new(p.to_s)
21
+ end
22
+
23
+ load_paths
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ module Compass
2
+ module ImportOnce
3
+ VERSION = "0.1.2"
4
+ end
5
+ end
@@ -0,0 +1,25 @@
1
+ require 'test/unit'
2
+ require 'sass'
3
+ require 'compass-import_once'
4
+
5
+ class SassImportOnceTest < Test::Unit::TestCase
6
+
7
+ def test_will_import_file_once
8
+ css = render_file("test.scss")
9
+ assert_equal 1, css.scan(/#i\.was\.imported/).count
10
+ end
11
+
12
+ private
13
+ def render_file(filename)
14
+ fixtures_dir = File.expand_path("fixtures", File.dirname(__FILE__))
15
+ full_filename = File.expand_path(filename, fixtures_dir)
16
+ syntax = File.extname(full_filename)[1..-1].to_sym
17
+ engine = Sass::Engine.new(File.read(full_filename),
18
+ :syntax => syntax,
19
+ :filename => full_filename,
20
+ :cache => false,
21
+ :read_cache => false,
22
+ :load_paths => [fixtures_dir])
23
+ engine.render
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ #i.was.imported {
2
+ color: red;
3
+ }
@@ -0,0 +1,13 @@
1
+ // Let's import a file
2
+ @import "partials/imported";
3
+
4
+ // add some rules
5
+ $blue: #3bbfce;
6
+
7
+ div.bleue {
8
+ background-color: $blue;
9
+ }
10
+
11
+ // And import the same file again
12
+ // even if we change the way we reference the file, it shouldn't be imported
13
+ @import "partials/imported.scss";
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: compass-import_once
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ platform: ruby
6
+ authors:
7
+ - The Blacksmith (a.k.a. Saulo Vallory)
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: compass
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.12.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.12.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: sass-import_once
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.1.2
41
+ description: ! "\n Monkey patches compass to make `sass-import_once` work while
42
+ \n this issue is not solved: https://github.com/chriseppstein/compass/pull/1140\n
43
+ \ "
44
+ email:
45
+ - me@saulovallory.com
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - .gitignore
51
+ - CHANGELOG.markdown
52
+ - Gemfile
53
+ - README.markdown
54
+ - Rakefile
55
+ - compass-import_once.gemspec
56
+ - lib/compass-import_once.rb
57
+ - lib/compass/import_once/monkey_patches.rb
58
+ - lib/compass/import_once/version.rb
59
+ - test/compass_import_once_test.rb
60
+ - test/fixtures/partials/_imported.scss
61
+ - test/fixtures/test.scss
62
+ homepage: http://theblacksmithhq.com/
63
+ licenses: []
64
+ metadata: {}
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubyforge_project:
81
+ rubygems_version: 2.1.10
82
+ signing_key:
83
+ specification_version: 4
84
+ summary: Makes `sass-import_once` work with compass.
85
+ test_files:
86
+ - test/compass_import_once_test.rb
87
+ - test/fixtures/partials/_imported.scss
88
+ - test/fixtures/test.scss