From 6d2ac0301335412249c590418dadadae58923a20 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Mon, 26 Nov 2018 14:26:37 -0500 Subject: [PATCH 01/11] A couple Readme tweaks --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 5367f7e..ea7df7d 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ _Please submit [an issue](https://github.com/zmoazeni/csscss/issues/new) if you I have been asked this a lot, but csscss is intentionally designed this way. Check out [this -post](http://connectionrequired.com/blog/2013/04/why-csscss-doesnt-remove-duplication-for-you/) +post](https://connectionrequired.com/blog/2013/04/why-csscss-doesnt-remove-duplication-for-you) for my reasoning. ## I found bugs ## @@ -87,12 +87,6 @@ If you find any issues, please report them on Please include the smallest CSS snippet to describe the issue and the output you expect to see. -## Who are you? ## - -My name is [Zach Moazeni](https://twitter.com/zmoazeni). I work for [an -awesome company](http://www.getharvest.com/). And [we're -hiring!](http://www.getharvest.com/careers) - ## I'm a dev, I can help ## Awesome! Thanks! Here are the steps I ask: From 00664a60fcf90646820af13cdee4b609aed2a08d Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Mon, 26 Nov 2018 18:32:23 -0500 Subject: [PATCH 02/11] Relocking the dependencies --- Gemfile.lock | 54 +++++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ded9c99..33ae5c4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,37 +8,40 @@ PATH GEM remote: https://rubygems.org/ specs: - blankslate (2.1.2.4) - byebug (3.1.2) - columnize (~> 0.8) - debugger-linecache (~> 1.2) - chunky_png (1.2.7) - colorize (0.7.3) - columnize (0.8.9) - commonjs (0.2.6) + byebug (10.0.2) + chunky_png (1.3.11) + colorize (0.8.1) + commonjs (0.2.7) compass (0.12.2) chunky_png (~> 1.2) fssm (>= 0.2.7) sass (~> 3.1) - debugger-linecache (1.2.0) + ffi (1.9.25) fssm (0.2.10) - less (2.3.1) - commonjs (~> 0.2.6) - libv8 (3.11.8.17) - m (1.3.1) + less (2.6.0) + commonjs (~> 0.2.7) + libv8 (3.16.14.19) + m (1.5.1) method_source (>= 0.6.7) rake (>= 0.9.2.2) - method_source (0.8.1) - minitest (2.12.1) - minitest-rg (1.1.0) - parslet (1.6.1) - blankslate (~> 2.0) - rake (10.0.3) - ref (1.0.4) - ruby-prof (0.13.0) - sass (3.2.7) - therubyracer (0.11.4) - libv8 (~> 3.11.8.12) + method_source (0.9.2) + minitest (5.11.3) + minitest-rg (5.2.0) + minitest (~> 5.0) + parslet (1.8.2) + rake (12.3.1) + rb-fsevent (0.10.3) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + ref (2.0.0) + ruby-prof (0.17.0) + sass (3.7.2) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + therubyracer (0.12.3) + libv8 (~> 3.16.14.15) ref PLATFORMS @@ -56,3 +59,6 @@ DEPENDENCIES ruby-prof sass therubyracer + +BUNDLED WITH + 1.16.4 From 414f7c759a5f54639f14994c8232161e92c9bc96 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Mon, 26 Nov 2018 18:32:56 -0500 Subject: [PATCH 03/11] Fixes test --- test/csscss/sass_include_extensions_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/csscss/sass_include_extensions_test.rb b/test/csscss/sass_include_extensions_test.rb index 76ace2e..13f0ea8 100644 --- a/test/csscss/sass_include_extensions_test.rb +++ b/test/csscss/sass_include_extensions_test.rb @@ -61,7 +61,7 @@ module Csscss /* CSSCSS END MIXIN: foo */ } CSS - Sass::Engine.new("@import '#{f.path}'", syntax: :scss, cache: false).render.must_equal(css) + Sass::Engine.new("@import '#{File.basename(f.path)}'", syntax: :scss, cache: false, load_paths: ["/tmp"]).render.must_equal(css) end end end From b8b03c35576eb0e409845d8ecd317abcd2a0e7aa Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Mon, 26 Nov 2018 18:35:52 -0500 Subject: [PATCH 04/11] Bump version file --- .ruby-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ruby-version b/.ruby-version index ec6b00f..73462a5 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-2.1.2 +2.5.1 From 37e5e331a4b465ba433a9e4ae1515b8cbe43bc25 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 09:53:49 -0500 Subject: [PATCH 05/11] Use best practice when declaring structs --- lib/csscss/types.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/csscss/types.rb b/lib/csscss/types.rb index 32afd3a..976475b 100644 --- a/lib/csscss/types.rb +++ b/lib/csscss/types.rb @@ -1,5 +1,5 @@ module Csscss - class Declaration < Struct.new(:property, :value, :parents) + Declaration = Struct.new(:property, :value, :parents) do def self.from_csspool(dec) new(dec.property.to_s.downcase, dec.expressions.join(" ").downcase) end @@ -79,7 +79,7 @@ def normalize_value(value) end end - class Selector < Struct.new(:selectors) + Selector = Struct.new(:selectors) do def self.from_parser(selectors) new(selectors.to_s.strip) end @@ -97,6 +97,5 @@ def inspect end end - class Ruleset < Struct.new(:selectors, :declarations) - end + Ruleset = Struct.new(:selectors, :declarations) end From 97c0941966434e407e51a9d62ef7c3046e96c733 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 09:58:03 -0500 Subject: [PATCH 06/11] Add docker-ruby command --- docker-ruby | 2 ++ 1 file changed, 2 insertions(+) create mode 100755 docker-ruby diff --git a/docker-ruby b/docker-ruby new file mode 100755 index 0000000..9c06fbd --- /dev/null +++ b/docker-ruby @@ -0,0 +1,2 @@ +#!/bin/bash +docker run -it --rm -v $(pwd):/app -v csscss_gem_data:/usr/local/bundle -w /app ruby $@ From 709fb6aeed31b46177d25adb5aa4f5bc99edd91c Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 09:58:55 -0500 Subject: [PATCH 07/11] Remove unnecessary method --- lib/csscss/types.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/csscss/types.rb b/lib/csscss/types.rb index 976475b..3d01f4d 100644 --- a/lib/csscss/types.rb +++ b/lib/csscss/types.rb @@ -1,9 +1,5 @@ module Csscss Declaration = Struct.new(:property, :value, :parents) do - def self.from_csspool(dec) - new(dec.property.to_s.downcase, dec.expressions.join(" ").downcase) - end - def self.from_parser(property, value, clean = true) value = value.to_s property = property.to_s From a0c0e7e964315c521de7946e2e9f10e876357e9f Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 10:04:01 -0500 Subject: [PATCH 08/11] Use latest ruby version --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4d1ff2e..b7360ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ language: ruby rvm: - - 2.0.0 - - 2.1.2 + - 2.5 From 9a503419e895039457c7194e99cfaf720c698c65 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 10:09:07 -0500 Subject: [PATCH 09/11] Allow docker version to be changed Also test other versions in travis --- .travis.yml | 2 ++ docker-ruby | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b7360ae..9323019 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ language: ruby rvm: - 2.5 + - 2.4 + - 2.3 diff --git a/docker-ruby b/docker-ruby index 9c06fbd..33ea97f 100755 --- a/docker-ruby +++ b/docker-ruby @@ -1,2 +1,3 @@ #!/bin/bash -docker run -it --rm -v $(pwd):/app -v csscss_gem_data:/usr/local/bundle -w /app ruby $@ +VERSION=${VERSION:-latest} +docker run -it --rm -v $(pwd):/app -v csscss_gem_data:/usr/local/bundle -w /app ruby:$VERSION $@ From 01eb85320eda32ee4d9e77614d80bb11be45e835 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 10:11:14 -0500 Subject: [PATCH 10/11] Fixes warning about shadowing --- lib/csscss/cli.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/csscss/cli.rb b/lib/csscss/cli.rb index 0adec9e..2b8430d 100644 --- a/lib/csscss/cli.rb +++ b/lib/csscss/cli.rb @@ -64,7 +64,7 @@ def execute end def parse(argv) - opts = OptionParser.new do |opts| + options = OptionParser.new do |opts| opts.banner = "Usage: csscss [files..]" opts.version = Csscss::VERSION @@ -128,11 +128,11 @@ def parse(argv) print_help(opts) end end - opts.parse!(argv) + options.parse!(argv) - print_help(opts) if argv.empty? + print_help(options) if argv.empty? rescue OptionParser::ParseError - print_help(opts) + print_help(options) end def print_help(opts) From bac3e424b2deddbeade08677b9958533c52828e6 Mon Sep 17 00:00:00 2001 From: Zach Moazeni Date: Tue, 27 Nov 2018 12:45:07 -0500 Subject: [PATCH 11/11] Ignore vscode settings --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4288db2..fd69015 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ test/tmp test/version_tmp tmp _site +.vscode