sassy 0.0.1
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.
- data/.gitignore +4 -0
- data/LICENSE +1 -0
- data/lib/sassy/scss/builder.rb +31 -0
- data/lib/sassy/scss/declaration.rb +21 -0
- data/lib/sassy/scss/declaration_set.rb +32 -0
- data/lib/sassy/scss/is_scss.rb +26 -0
- data/lib/sassy/scss/rule.rb +52 -0
- data/lib/sassy/scss/rule_set.rb +40 -0
- data/lib/sassy/scss.rb +17 -0
- data/lib/sassy.rb +11 -0
- data/sassy.gemspec +23 -0
- data/spec/lib/sassy/scss/declaration_set_spec.rb +30 -0
- data/spec/lib/sassy/scss/declaration_spec.rb +49 -0
- data/spec/lib/sassy/scss/is_scss_spec.rb +39 -0
- data/spec/lib/sassy/scss/rule_set_spec.rb +49 -0
- data/spec/lib/sassy/scss/rule_spec.rb +107 -0
- data/spec/lib/sassy/scss_spec.rb +5 -0
- data/spec/lib/sassy_spec.rb +5 -0
- data/spec/spec_helper.rb +8 -0
- metadata +118 -0
data/.gitignore
ADDED
data/LICENSE
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Sassy by Austin Schneider is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License (http://creativecommons.org/licenses/by-sa/3.0/).
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Sassy
|
2
|
+
module SCSS
|
3
|
+
class Builder
|
4
|
+
|
5
|
+
def initialize(&block)
|
6
|
+
instance_eval(&block)
|
7
|
+
end
|
8
|
+
|
9
|
+
delegate :to_scss, :to => :rule_set
|
10
|
+
|
11
|
+
def r(selector, &block)
|
12
|
+
rule_set.add(selector, &block)
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def rule_set
|
18
|
+
@rule_set ||= RuleSet.new
|
19
|
+
end
|
20
|
+
|
21
|
+
def method_missing(method, *args, &block)
|
22
|
+
if block_given?
|
23
|
+
rule_set.add(Rule.new(method, &block))
|
24
|
+
else
|
25
|
+
super
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require Sassy.root.join('scss', 'is_scss')
|
2
|
+
|
3
|
+
module Sassy
|
4
|
+
module SCSS
|
5
|
+
class Declaration
|
6
|
+
|
7
|
+
include IsSCSS
|
8
|
+
|
9
|
+
def initialize(property, value)
|
10
|
+
raise ArgumentError if [property, value].any?(&:blank?)
|
11
|
+
@property = property
|
12
|
+
@value = value
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_scss
|
16
|
+
"#{@property}: #{@value};"
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'set'
|
2
|
+
require Sassy.root.join('scss', 'is_scss')
|
3
|
+
|
4
|
+
module Sassy
|
5
|
+
module SCSS
|
6
|
+
class DeclarationSet
|
7
|
+
|
8
|
+
include IsSCSS
|
9
|
+
|
10
|
+
def add(*args)
|
11
|
+
set << if args.size == 1 && args[0].is_a?(Declaration)
|
12
|
+
args[0]
|
13
|
+
else
|
14
|
+
Declaration.new(*args)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_scss
|
19
|
+
set.to_a.map(&:to_scss).sort.join(" ")
|
20
|
+
end
|
21
|
+
|
22
|
+
delegate :empty?, :to => :set
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def set
|
27
|
+
@set ||= Set.new
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Sassy
|
2
|
+
module SCSS
|
3
|
+
module IsSCSS
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.send(:include, Comparable)
|
7
|
+
base.send(:include, InstanceMethods)
|
8
|
+
end
|
9
|
+
|
10
|
+
module InstanceMethods
|
11
|
+
def <=>(other)
|
12
|
+
to_scss <=> other.to_scss
|
13
|
+
end
|
14
|
+
|
15
|
+
def eql?(other)
|
16
|
+
to_scss.eql?(other.to_scss)
|
17
|
+
end
|
18
|
+
|
19
|
+
def hash
|
20
|
+
to_scss.hash
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'set'
|
2
|
+
require Sassy.root.join('scss', 'is_scss')
|
3
|
+
|
4
|
+
module Sassy
|
5
|
+
module SCSS
|
6
|
+
class Rule
|
7
|
+
|
8
|
+
include IsSCSS
|
9
|
+
|
10
|
+
def initialize(selector, &block)
|
11
|
+
raise ArgumentError if selector.blank?
|
12
|
+
@selector = selector
|
13
|
+
instance_eval(&block) if block_given?
|
14
|
+
end
|
15
|
+
|
16
|
+
def declarations
|
17
|
+
@declarations ||= DeclarationSet.new
|
18
|
+
end
|
19
|
+
|
20
|
+
def rules
|
21
|
+
@rules ||= RuleSet.new
|
22
|
+
end
|
23
|
+
|
24
|
+
def r(selector, &block)
|
25
|
+
rules.add(selector, &block)
|
26
|
+
end
|
27
|
+
|
28
|
+
def d(property, value)
|
29
|
+
declarations.add(property, value)
|
30
|
+
end
|
31
|
+
|
32
|
+
def to_scss
|
33
|
+
a = ["#{@selector} {"]
|
34
|
+
a << declarations.to_scss unless declarations.empty?
|
35
|
+
a << rules.to_scss unless rules.empty?
|
36
|
+
a << "}"
|
37
|
+
a.join(" ")
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def method_missing(method, *args, &block)
|
43
|
+
if block_given?
|
44
|
+
r(method, &block)
|
45
|
+
else
|
46
|
+
d(method.to_s.gsub('_', '-'), args[0])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'set'
|
2
|
+
require Sassy.root.join('scss', 'is_scss')
|
3
|
+
|
4
|
+
module Sassy
|
5
|
+
module SCSS
|
6
|
+
class RuleSet
|
7
|
+
|
8
|
+
include IsSCSS
|
9
|
+
|
10
|
+
def initialize(&block)
|
11
|
+
instance_eval(&block) if block_given?
|
12
|
+
end
|
13
|
+
|
14
|
+
def add(rule_or_selector, &block)
|
15
|
+
set << case rule_or_selector
|
16
|
+
when Rule
|
17
|
+
rule_or_selector
|
18
|
+
else
|
19
|
+
Rule.new(rule_or_selector, &block)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# TODO: test this
|
24
|
+
def to_scss
|
25
|
+
set.to_a.map(&:to_scss).sort.join(" ")
|
26
|
+
end
|
27
|
+
|
28
|
+
# TODO: test this
|
29
|
+
delegate :empty?, :to => :set
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
# TODO: test this
|
34
|
+
def set
|
35
|
+
@set ||= Set.new
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/sassy/scss.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'active_support/core_ext/object'
|
3
|
+
require Sassy.root.join('scss', 'builder')
|
4
|
+
|
5
|
+
module Sassy
|
6
|
+
module SCSS
|
7
|
+
class << self
|
8
|
+
def build(&block)
|
9
|
+
Builder.new(&block).to_scss
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
%w(rule declaration declaration_set rule_set).each do |f|
|
16
|
+
require Sassy.root.join('scss', f)
|
17
|
+
end
|
data/lib/sassy.rb
ADDED
data/sassy.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'sassy'
|
3
|
+
s.version = '0.0.1'
|
4
|
+
s.authors = ["Austin Schneider"]
|
5
|
+
s.email = "soccer022483@gmail.com"
|
6
|
+
s.description = 'Sassy'
|
7
|
+
s.homepage = ""
|
8
|
+
s.summary = "Sassy; copyright 2010 Austin Schneider"
|
9
|
+
s.post_install_message = "Thanks for installing Sassy!"
|
10
|
+
s.files = Dir[
|
11
|
+
'.gitignore',
|
12
|
+
'lib/**/*',
|
13
|
+
'LICENSE',
|
14
|
+
'README',
|
15
|
+
'sassy.gemspec',
|
16
|
+
'spec/**/*'
|
17
|
+
].to_a
|
18
|
+
s.test_files = []
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_dependency 'activesupport', '>= 3.0.0'
|
22
|
+
s.add_development_dependency 'rspec', '>= 2.0.0.beta.22'
|
23
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sassy::SCSS::DeclarationSet do
|
4
|
+
|
5
|
+
describe ".new" do
|
6
|
+
it "returns an instance of Sassy::SCSS::DeclarationSet" do
|
7
|
+
Sassy::SCSS::DeclarationSet.new.should be_an_instance_of(Sassy::SCSS::DeclarationSet)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "instance methods" do
|
12
|
+
before { @ds = Sassy::SCSS::DeclarationSet.new }
|
13
|
+
|
14
|
+
describe "#add" do
|
15
|
+
it "creates a declaration with the args" do
|
16
|
+
args = ["background", "green"]
|
17
|
+
Sassy::SCSS::Declaration.should_receive(:new).with(*args)
|
18
|
+
@ds.add(*args)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "adds the declaration to the set" do
|
22
|
+
declaration = mock(Sassy::SCSS::Declaration)
|
23
|
+
Sassy::SCSS::Declaration.stub!(:new => declaration)
|
24
|
+
@ds.add
|
25
|
+
@ds.send(:set).should be_include(declaration)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sassy::SCSS::Declaration do
|
4
|
+
|
5
|
+
describe ".new" do
|
6
|
+
[
|
7
|
+
[],
|
8
|
+
[nil],
|
9
|
+
[nil, nil],
|
10
|
+
['property'],
|
11
|
+
['property', nil],
|
12
|
+
[nil, 'value'],
|
13
|
+
[nil, nil]
|
14
|
+
].each do |args|
|
15
|
+
context "when the args are #{args.inspect}" do
|
16
|
+
before { @args = args }
|
17
|
+
|
18
|
+
it "raises an error" do
|
19
|
+
lambda { Sassy::SCSS::Declaration.new(*@args) }.should raise_error(ArgumentError)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
[
|
25
|
+
['property', 'value']
|
26
|
+
].each do |args|
|
27
|
+
context "when the args are #{args.inspect}" do
|
28
|
+
before { @args = args }
|
29
|
+
|
30
|
+
it "returns an instance of Sassy::SCSS::Declaration" do
|
31
|
+
Sassy::SCSS::Declaration.new(*@args).should be_an_instance_of(Sassy::SCSS::Declaration)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "instance methods" do
|
38
|
+
before do
|
39
|
+
@d = Sassy::SCSS::Declaration.new('color', 'red')
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "#to_scss" do
|
43
|
+
context "when the property is 'color' and the value is 'red'" do
|
44
|
+
it("returns 'color: red;'") { @d.to_scss.should == 'color: red;' }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class TestClass
|
4
|
+
include Sassy::SCSS::IsSCSS
|
5
|
+
|
6
|
+
def to_scss
|
7
|
+
"c: d;"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe TestClass do
|
12
|
+
describe "instance methods" do
|
13
|
+
before { @tc = TestClass.new }
|
14
|
+
|
15
|
+
describe "#<=>" do
|
16
|
+
it "compares the to_scss" do
|
17
|
+
other = mock(TestClass, :to_scss => "a: b;")
|
18
|
+
@tc.stub!(:to_scss => @tc.to_scss)
|
19
|
+
@tc.to_scss.should_receive(:<=>).with(other.to_scss)
|
20
|
+
@tc <=> other
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#eql?" do
|
25
|
+
it "compares the to_scss" do
|
26
|
+
other = mock(TestClass, :to_scss => "a: b;")
|
27
|
+
@tc.stub!(:to_scss => @tc.to_scss)
|
28
|
+
@tc.to_scss.should_receive(:eql?).with(other.to_scss)
|
29
|
+
@tc.eql?(other)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#hash" do
|
34
|
+
it "returns the scss hash" do
|
35
|
+
@tc.hash.should == @tc.to_scss.hash
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sassy::SCSS::RuleSet do
|
4
|
+
|
5
|
+
describe ".new" do
|
6
|
+
it "returns an instance of Sassy::SCSS::RuleSet" do
|
7
|
+
Sassy::SCSS::RuleSet.new.should be_an_instance_of(Sassy::SCSS::RuleSet)
|
8
|
+
end
|
9
|
+
|
10
|
+
context "given a block" do
|
11
|
+
it "calls instance_eval" do
|
12
|
+
Sassy::SCSS::RuleSet.new do
|
13
|
+
self.class.should == Sassy::SCSS::RuleSet
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "instance methods" do
|
20
|
+
before { @rs = Sassy::SCSS::RuleSet.new }
|
21
|
+
|
22
|
+
describe "#add" do
|
23
|
+
context "with a non-rule" do
|
24
|
+
before { @selector = "body" }
|
25
|
+
|
26
|
+
it "creates a rule" do
|
27
|
+
Sassy::SCSS::Rule.should_receive(:new).with(@selector)
|
28
|
+
@rs.add(@selector)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "adds the rule to the set" do
|
32
|
+
rule = Sassy::SCSS::Rule.new(@selector)
|
33
|
+
Sassy::SCSS::Rule.stub!(:new => rule)
|
34
|
+
@rs.add(rule)
|
35
|
+
@rs.send(:set).should be_include(rule)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "with a rule" do
|
40
|
+
it "adds the rule to the set" do
|
41
|
+
rule = Sassy::SCSS::Rule.new(".header")
|
42
|
+
@rs.add(rule)
|
43
|
+
@rs.send(:set).should be_include(rule)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sassy::SCSS::Rule do
|
4
|
+
|
5
|
+
describe ".new" do
|
6
|
+
[[], [nil]].each do |args|
|
7
|
+
context "when the args are #{args.inspect}" do
|
8
|
+
before { @args = args }
|
9
|
+
|
10
|
+
it "raises an ArgumentError" do
|
11
|
+
lambda { Sassy::SCSS::Rule.new(*@args) }.should raise_error(ArgumentError)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
[[".header"]].each do |args|
|
17
|
+
context "when the args are #{args.inspect}" do
|
18
|
+
before { @args = args }
|
19
|
+
|
20
|
+
it "returns an instance of Sassy::SCSS::Rule" do
|
21
|
+
Sassy::SCSS::Rule.new(@args).should be_an_instance_of(Sassy::SCSS::Rule)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "instance methods" do
|
28
|
+
before { @r = Sassy::SCSS::Rule.new('body') }
|
29
|
+
|
30
|
+
describe "#declarations" do
|
31
|
+
context "when hasn't been called before" do
|
32
|
+
it "returns a DeclarationSet" do
|
33
|
+
@r.declarations.should be_an_instance_of(Sassy::SCSS::DeclarationSet)
|
34
|
+
end
|
35
|
+
|
36
|
+
it("the returned set is empty") { @r.declarations.should be_empty }
|
37
|
+
end
|
38
|
+
|
39
|
+
context "after being called once" do
|
40
|
+
before { @ds = @r.declarations }
|
41
|
+
|
42
|
+
it("returns the same Set") { @r.declarations.should equal(@ds) }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#rules" do
|
47
|
+
context "when hasn't been called before" do
|
48
|
+
it("returns a RuleSet") { @r.rules.should be_an_instance_of(Sassy::SCSS::RuleSet) }
|
49
|
+
|
50
|
+
it("the returned set is empty") { @r.rules.should be_empty }
|
51
|
+
end
|
52
|
+
|
53
|
+
context "after being called once" do
|
54
|
+
before { @rs = @r.rules }
|
55
|
+
|
56
|
+
it("returns the same Set") { @r.rules.should equal(@rs) }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe "#to_scss" do
|
61
|
+
it "returns scss" do
|
62
|
+
@r.to_scss.should == "body { }"
|
63
|
+
end
|
64
|
+
|
65
|
+
context "after adding a rule" do
|
66
|
+
before { @r.rules.add(".header") }
|
67
|
+
|
68
|
+
it "return scss" do
|
69
|
+
@r.to_scss.should == "body { .header { } }"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
context "after adding a declaration" do
|
74
|
+
before { @r.declarations.add("color", "green") }
|
75
|
+
|
76
|
+
it "returns scss" do
|
77
|
+
@r.to_scss.should == "body { color: green; }"
|
78
|
+
end
|
79
|
+
|
80
|
+
context "after adding a rule" do
|
81
|
+
before { @r.rules.add(".header") }
|
82
|
+
|
83
|
+
it "return scss" do
|
84
|
+
@r.to_scss.should == "body { color: green; .header { } }"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "after adding another declaration" do
|
89
|
+
before { @r.declarations.add("font-weight", "bold") }
|
90
|
+
|
91
|
+
it "returns scss" do
|
92
|
+
@r.to_scss.should == "body { color: green; font-weight: bold; }"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context "after adding the same declaration" do
|
97
|
+
before { @r.declarations.add("color", "green") }
|
98
|
+
|
99
|
+
it "returns scss" do
|
100
|
+
@r.to_scss.should == "body { color: green; }"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sassy
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Austin Schneider
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-12-06 00:00:00 -05:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: activesupport
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
- 0
|
33
|
+
- 0
|
34
|
+
version: 3.0.0
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rspec
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 62196431
|
46
|
+
segments:
|
47
|
+
- 2
|
48
|
+
- 0
|
49
|
+
- 0
|
50
|
+
- beta
|
51
|
+
- 22
|
52
|
+
version: 2.0.0.beta.22
|
53
|
+
type: :development
|
54
|
+
version_requirements: *id002
|
55
|
+
description: Sassy
|
56
|
+
email: soccer022483@gmail.com
|
57
|
+
executables: []
|
58
|
+
|
59
|
+
extensions: []
|
60
|
+
|
61
|
+
extra_rdoc_files: []
|
62
|
+
|
63
|
+
files:
|
64
|
+
- .gitignore
|
65
|
+
- lib/sassy/scss/declaration.rb
|
66
|
+
- lib/sassy/scss/builder.rb
|
67
|
+
- lib/sassy/scss/rule.rb
|
68
|
+
- lib/sassy/scss/is_scss.rb
|
69
|
+
- lib/sassy/scss/declaration_set.rb
|
70
|
+
- lib/sassy/scss/rule_set.rb
|
71
|
+
- lib/sassy/scss.rb
|
72
|
+
- lib/sassy.rb
|
73
|
+
- LICENSE
|
74
|
+
- sassy.gemspec
|
75
|
+
- spec/spec_helper.rb
|
76
|
+
- spec/lib/sassy/scss_spec.rb
|
77
|
+
- spec/lib/sassy/scss/is_scss_spec.rb
|
78
|
+
- spec/lib/sassy/scss/declaration_spec.rb
|
79
|
+
- spec/lib/sassy/scss/rule_spec.rb
|
80
|
+
- spec/lib/sassy/scss/declaration_set_spec.rb
|
81
|
+
- spec/lib/sassy/scss/rule_set_spec.rb
|
82
|
+
- spec/lib/sassy_spec.rb
|
83
|
+
has_rdoc: true
|
84
|
+
homepage: ""
|
85
|
+
licenses: []
|
86
|
+
|
87
|
+
post_install_message: Thanks for installing Sassy!
|
88
|
+
rdoc_options: []
|
89
|
+
|
90
|
+
require_paths:
|
91
|
+
- lib
|
92
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
hash: 3
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
version: "0"
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
+
none: false
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
hash: 3
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
version: "0"
|
110
|
+
requirements: []
|
111
|
+
|
112
|
+
rubyforge_project:
|
113
|
+
rubygems_version: 1.3.7
|
114
|
+
signing_key:
|
115
|
+
specification_version: 3
|
116
|
+
summary: Sassy; copyright 2010 Austin Schneider
|
117
|
+
test_files: []
|
118
|
+
|