diff options
-rwxr-xr-x | bin/dashing | 7 | ||||
-rw-r--r-- | templates/widget/%name%/%name%.scss.tt | 2 | ||||
-rw-r--r-- | test/cli_test.rb | 8 |
3 files changed, 15 insertions, 2 deletions
diff --git a/bin/dashing b/bin/dashing index 4fb4b50..8c7e348 100755 --- a/bin/dashing +++ b/bin/dashing @@ -28,6 +28,11 @@ module Dashing class << self attr_accessor :auth_token + + def hyphenate(str) + return str.downcase if str =~ /^[A-Z-]+$/ + str.gsub('_', '-').gsub(/\B[A-Z]/, '-\&').squeeze('-').downcase + end end attr_accessor :name @@ -106,4 +111,4 @@ module Dashing end end -Dashing::CLI.start
\ No newline at end of file +Dashing::CLI.start diff --git a/templates/widget/%name%/%name%.scss.tt b/templates/widget/%name%/%name%.scss.tt index 0da5c49..660a554 100644 --- a/templates/widget/%name%/%name%.scss.tt +++ b/templates/widget/%name%/%name%.scss.tt @@ -1,3 +1,3 @@ -.widget-<%= name %> { +.widget-<%= Dashing::CLI.hyphenate(name) %> { }
\ No newline at end of file diff --git a/test/cli_test.rb b/test/cli_test.rb index 4dc1eb3..6c43e2c 100644 --- a/test/cli_test.rb +++ b/test/cli_test.rb @@ -17,4 +17,12 @@ class CliTest < Dashing::Test end end + def test_hyphenate + assert_equal 'power', Dashing::CLI.hyphenate('Power') + assert_equal 'power', Dashing::CLI.hyphenate('POWER') + assert_equal 'power-rangers', Dashing::CLI.hyphenate('PowerRangers') + assert_equal 'power-ranger', Dashing::CLI.hyphenate('Power_ranger') + assert_equal 'super-power-rangers', Dashing::CLI.hyphenate('SuperPowerRangers') + end + end
\ No newline at end of file |