styler-sass 0.1.4 → 0.1.5.alpha
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 +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +17 -2
- data/README.md +1 -2
- data/bin/styler +13 -3
- data/{app/assets/images/.keep → features/support/env.rb} +0 -0
- data/lib/styler/generator.rb +8 -1
- data/lib/styler/version.rb +1 -1
- data/lib/styler.rb +2 -6
- data/spec/bourbon/addons/border_color_spec.rb +51 -0
- data/spec/bourbon/addons/border_radius_spec.rb +25 -0
- data/spec/bourbon/addons/border_style_spec.rb +51 -0
- data/spec/bourbon/addons/border_width_spec.rb +51 -0
- data/spec/bourbon/addons/buttons_spec.rb +53 -0
- data/spec/bourbon/addons/clearfix_spec.rb +18 -0
- data/spec/bourbon/addons/ellipsis_spec.rb +20 -0
- data/spec/bourbon/addons/font_stacks_spec.rb +25 -0
- data/spec/bourbon/addons/hide_text_spec.rb +17 -0
- data/spec/bourbon/addons/margin_spec.rb +51 -0
- data/spec/bourbon/addons/padding_spec.rb +51 -0
- data/spec/bourbon/addons/position_spec.rb +67 -0
- data/spec/bourbon/addons/retina_image_spec.rb +57 -0
- data/spec/bourbon/addons/size_spec.rb +31 -0
- data/spec/bourbon/addons/text_inputs_spec.rb +65 -0
- data/spec/bourbon/addons/triangle_spec.rb +32 -0
- data/spec/bourbon/addons/word_wrap_spec.rb +29 -0
- data/spec/bourbon/css3/font_face_spec.rb +45 -0
- data/spec/bourbon/css3/hidpi_media_query_spec.rb +23 -0
- data/spec/bourbon/functions/assign_inputs_spec.rb +50 -0
- data/spec/bourbon/functions/contains_spec.rb +27 -0
- data/spec/bourbon/functions/is_length_spec.rb +49 -0
- data/spec/bourbon/functions/is_light_spec.rb +37 -0
- data/spec/bourbon/functions/is_number_spec.rb +43 -0
- data/spec/bourbon/functions/is_size_spec.rb +43 -0
- data/spec/bourbon/functions/modular_scale_spec.rb +43 -0
- data/spec/bourbon/functions/px_to_em_spec.rb +31 -0
- data/spec/bourbon/functions/px_to_rem_spec.rb +25 -0
- data/spec/bourbon/functions/shade_spec.rb +31 -0
- data/spec/bourbon/functions/strip_units_spec.rb +31 -0
- data/spec/bourbon/functions/tint_spec.rb +31 -0
- data/spec/bourbon/functions/unpack_spec.rb +32 -0
- data/spec/bourbon/helpers/convert_units_spec.rb +31 -0
- data/spec/bourbon/helpers/directional_values_spec.rb +39 -0
- data/spec/bourbon/helpers/font_source_declaration_spec.rb +29 -0
- data/spec/bourbon/helpers/str_to_num_spec.rb +25 -0
- data/spec/fixtures/_setup.scss +1 -0
- data/spec/fixtures/addons/border-color.scss +26 -0
- data/spec/fixtures/addons/border-radius.scss +17 -0
- data/spec/fixtures/addons/border-style.scss +21 -0
- data/spec/fixtures/addons/border-width.scss +21 -0
- data/spec/fixtures/addons/buttons.scss +17 -0
- data/spec/fixtures/addons/clearfix.scss +5 -0
- data/spec/fixtures/addons/ellipsis.scss +5 -0
- data/spec/fixtures/addons/font-stacks.scss +21 -0
- data/spec/fixtures/addons/hide-text.scss +5 -0
- data/spec/fixtures/addons/margin.scss +21 -0
- data/spec/fixtures/addons/padding.scss +21 -0
- data/spec/fixtures/addons/position.scss +25 -0
- data/spec/fixtures/addons/retina-image.scss +21 -0
- data/spec/fixtures/addons/size.scss +13 -0
- data/spec/fixtures/addons/text-inputs.scss +17 -0
- data/spec/fixtures/addons/triangle.scss +9 -0
- data/spec/fixtures/addons/word-wrap.scss +9 -0
- data/spec/fixtures/css3/font-face.scss +6 -0
- data/spec/fixtures/css3/hidpi-media-query.scss +13 -0
- data/spec/fixtures/functions/assign-inputs.scss +19 -0
- data/spec/fixtures/functions/contains.scss +28 -0
- data/spec/fixtures/functions/is-length.scss +35 -0
- data/spec/fixtures/functions/is-light.scss +29 -0
- data/spec/fixtures/functions/is-number.scss +31 -0
- data/spec/fixtures/functions/is-size.scss +31 -0
- data/spec/fixtures/functions/modular-scale.scss +29 -0
- data/spec/fixtures/functions/px-to-em.scss +17 -0
- data/spec/fixtures/functions/px-to-rem.scss +15 -0
- data/spec/fixtures/functions/shade.scss +17 -0
- data/spec/fixtures/functions/strip-units.scss +17 -0
- data/spec/fixtures/functions/tint.scss +17 -0
- data/spec/fixtures/functions/unpack.scss +17 -0
- data/spec/fixtures/helpers/convert-units.scss +17 -0
- data/spec/fixtures/helpers/directional-values.scss +29 -0
- data/spec/fixtures/helpers/font-source-declaration.scss +10 -0
- data/spec/fixtures/helpers/str-to-num.scss +13 -0
- data/spec/spec_helper.rb +22 -0
- data/spec/styler_spec.rb.bak +11 -0
- data/spec/support/matchers/be_contained_in.rb +10 -0
- data/spec/support/matchers/have_rule.rb +35 -0
- data/spec/support/matchers/have_ruleset.rb +20 -0
- data/spec/support/matchers/have_value.rb +17 -0
- data/spec/support/parser_support.rb +16 -0
- data/spec/support/sass_support.rb +10 -0
- data/styler.gemspec +10 -5
- data/{app/assets/fonts/awesome → vendor/assets/fonts}/FontAwesome.otf +0 -0
- data/{app/assets/fonts/awesome → vendor/assets/fonts}/fontawesome-webfont.eot +0 -0
- data/{app/assets/fonts/awesome → vendor/assets/fonts}/fontawesome-webfont.svg +0 -0
- data/{app/assets/fonts/awesome → vendor/assets/fonts}/fontawesome-webfont.ttf +0 -0
- data/{app/assets/fonts/awesome → vendor/assets/fonts}/fontawesome-webfont.woff +0 -0
- data/{app/assets/fonts/awesome → vendor/assets/fonts}/fontawesome-webfont.woff2 +0 -0
- data/{app/assets/fonts/bootstrap → vendor/assets/fonts}/glyphicons-halflings-regular.eot +0 -0
- data/{app/assets/fonts/bootstrap → vendor/assets/fonts}/glyphicons-halflings-regular.svg +0 -0
- data/{app/assets/fonts/bootstrap → vendor/assets/fonts}/glyphicons-halflings-regular.ttf +0 -0
- data/{app/assets/fonts/bootstrap → vendor/assets/fonts}/glyphicons-halflings-regular.woff +0 -0
- data/{app/assets/fonts/bootstrap → vendor/assets/fonts}/glyphicons-halflings-regular.woff2 +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/affix.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/alert.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/button.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/carousel.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/collapse.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/dropdown.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/modal.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/popover.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/scrollspy.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/tab.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/tooltip.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap/transition.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap-sprockets.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap.js +0 -0
- data/{app → vendor}/assets/javascripts/bootstrap.min.js +0 -0
- metadata +198 -36
- data/bin/console +0 -14
- data/bin/setup +0 -7
@@ -0,0 +1,29 @@
|
|
1
|
+
@import "setup";
|
2
|
+
|
3
|
+
.one {
|
4
|
+
&-base-two {
|
5
|
+
font-size: modular-scale(1, $value: 2em);
|
6
|
+
}
|
7
|
+
|
8
|
+
&-base-three {
|
9
|
+
font-size: modular-scale(1, $value: 3em);
|
10
|
+
}
|
11
|
+
|
12
|
+
&-double-value {
|
13
|
+
font-size: modular-scale(1, $value: 1em 2em);
|
14
|
+
}
|
15
|
+
|
16
|
+
&-golden-ratio {
|
17
|
+
font-size: modular-scale(1, $ratio: $golden);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
.two {
|
22
|
+
&-base-one {
|
23
|
+
font-size: modular-scale(2, $value: 1em);
|
24
|
+
}
|
25
|
+
|
26
|
+
&-double-value {
|
27
|
+
font-size: modular-scale(2, $value: 2em);
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
@import "setup";
|
2
|
+
|
3
|
+
.px {
|
4
|
+
height: _convert-units(12, "px");
|
5
|
+
}
|
6
|
+
|
7
|
+
.pt {
|
8
|
+
font-size: _convert-units(16, "pt");
|
9
|
+
}
|
10
|
+
|
11
|
+
.deg {
|
12
|
+
transform: rotate(_convert-units(180, "deg"));
|
13
|
+
}
|
14
|
+
|
15
|
+
.string {
|
16
|
+
padding-top: _convert-units(stringy, "px");
|
17
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
@import "setup";
|
2
|
+
|
3
|
+
.four {
|
4
|
+
padding: collapse-directionals(10px 20px 30px 40px);
|
5
|
+
}
|
6
|
+
|
7
|
+
.three {
|
8
|
+
padding: collapse-directionals(5px 10px 5px 20px);
|
9
|
+
}
|
10
|
+
|
11
|
+
.two {
|
12
|
+
padding: collapse-directionals(50px 100px 50px 100px);
|
13
|
+
}
|
14
|
+
|
15
|
+
.one {
|
16
|
+
padding: collapse-directionals(10px 10px 10px 10px);
|
17
|
+
}
|
18
|
+
|
19
|
+
.border-all {
|
20
|
+
@include directional-property(border, width, 2px 5px 8px 12px);
|
21
|
+
}
|
22
|
+
|
23
|
+
.border-top {
|
24
|
+
@include directional-property(border, top, 10px);
|
25
|
+
}
|
26
|
+
|
27
|
+
.border-color {
|
28
|
+
@include directional-property(border, color, #ffffff #000000);
|
29
|
+
}
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
+
require "rspec"
|
4
|
+
require "styler"
|
5
|
+
require "aruba/api"
|
6
|
+
require "css_parser"
|
7
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
8
|
+
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.include SassSupport
|
11
|
+
config.include CssParser
|
12
|
+
config.include ParserSupport
|
13
|
+
config.include Aruba::Api
|
14
|
+
|
15
|
+
config.before(:all) do
|
16
|
+
generate_css
|
17
|
+
end
|
18
|
+
|
19
|
+
config.after(:all) do
|
20
|
+
clean_up
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
RSpec::Matchers.define :be_contained_in do |expected|
|
2
|
+
match do |actual|
|
3
|
+
@query = ParserSupport.parser.find_by_selector(actual, expected)
|
4
|
+
@query.any?
|
5
|
+
end
|
6
|
+
|
7
|
+
failure_message_for_should do |actual|
|
8
|
+
%{expected selector #{actual} to be container in #{expected}}
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
RSpec::Matchers.define :have_rule do |expected|
|
2
|
+
match do |selector|
|
3
|
+
@rules = rules_from_selector(selector)
|
4
|
+
@rules.include? expected
|
5
|
+
end
|
6
|
+
|
7
|
+
failure_message do |selector|
|
8
|
+
if @rules.empty?
|
9
|
+
%{no CSS for selector #{selector} were found}
|
10
|
+
else
|
11
|
+
rules = @rules.join("; ")
|
12
|
+
%{Expected selector #{selector} to have CSS rule "#{expected}".
|
13
|
+
Had "#{rules}".}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def rules_from_selector(selector)
|
18
|
+
rulesets = ParserSupport.parser.find_by_selector(selector)
|
19
|
+
if rulesets.empty?
|
20
|
+
[]
|
21
|
+
else
|
22
|
+
rules(rulesets)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def rules(rulesets)
|
27
|
+
rules = []
|
28
|
+
rulesets.map do |ruleset|
|
29
|
+
ruleset.split(";").each do |rule|
|
30
|
+
rules << rule.strip
|
31
|
+
end
|
32
|
+
end
|
33
|
+
rules
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
RSpec::Matchers.define :have_ruleset do |expected|
|
2
|
+
match do |selector|
|
3
|
+
@ruleset = rules_from_selector(selector)
|
4
|
+
@ruleset.join("; ") == expected
|
5
|
+
end
|
6
|
+
|
7
|
+
failure_message do |selector|
|
8
|
+
if @ruleset.empty?
|
9
|
+
%{no CSS for selector #{selector} were found}
|
10
|
+
else
|
11
|
+
ruleset = @ruleset.join("; ")
|
12
|
+
%{Expected selector #{selector} to have CSS rule "#{expected}".
|
13
|
+
Had "#{ruleset}".}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def rules_from_selector(selector)
|
18
|
+
ParserSupport.parser.find_by_selector(selector)
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
RSpec::Matchers.define :have_value do |expected|
|
2
|
+
match do |variable|
|
3
|
+
selector_class = variable.sub("$", ".")
|
4
|
+
@value_attribute = ParserSupport.parser.find_by_selector(selector_class)[0]
|
5
|
+
|
6
|
+
unless @value_attribute.nil?
|
7
|
+
actual_value = @value_attribute.split(":")[1].strip.sub(";", "")
|
8
|
+
actual_value == expected
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
failure_message_for_should do |variable_name|
|
13
|
+
value_attribute = @value_attribute.to_s
|
14
|
+
%{Expected variable #{variable_name} to have value "#{expected}".
|
15
|
+
Had "#{value_attribute}".}
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module ParserSupport
|
2
|
+
def self.parser
|
3
|
+
@parser ||= CssParser::Parser.new
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.parse_file(identifier)
|
7
|
+
parser.load_file!("tmp/#{identifier}.css")
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.show_contents(identifier)
|
11
|
+
css_file_contents = File.open("tmp/#{identifier}.css").read
|
12
|
+
css_file_contents.each_line do |line|
|
13
|
+
puts line
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/styler.gemspec
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
|
2
|
+
#lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$:.push File.expand_path("../lib", __FILE__)
|
4
|
+
|
5
|
+
#$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
6
|
require 'styler/version'
|
5
7
|
|
6
8
|
Gem::Specification.new do |spec|
|
@@ -22,10 +24,13 @@ Gem::Specification.new do |spec|
|
|
22
24
|
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
23
25
|
end
|
24
26
|
|
25
|
-
spec.files =
|
26
|
-
spec.
|
27
|
-
spec.
|
27
|
+
spec.files = `git ls-files`.split("\n")
|
28
|
+
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
29
|
+
spec.bindir = "bin"
|
30
|
+
spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
28
31
|
spec.require_paths = ["lib"]
|
32
|
+
#spec.executables = "styler"
|
33
|
+
#spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
29
34
|
|
30
35
|
spec.add_development_dependency "bundler", "~> 1.10"
|
31
36
|
spec.add_development_dependency "rake", "~> 10.0"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|