sass 3.1.21 → 3.2.0.alpha.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +5 -4
- data/REVISION +1 -1
- data/Rakefile +6 -15
- data/VERSION +1 -1
- data/VERSION_NAME +1 -1
- data/lib/sass.rb +0 -1
- data/lib/sass/cache_stores/base.rb +1 -3
- data/lib/sass/cache_stores/filesystem.rb +0 -3
- data/lib/sass/css.rb +49 -145
- data/lib/sass/engine.rb +23 -47
- data/lib/sass/environment.rb +5 -30
- data/lib/sass/exec.rb +7 -30
- data/lib/sass/importers/base.rb +1 -2
- data/lib/sass/importers/filesystem.rb +13 -18
- data/lib/sass/less.rb +1 -1
- data/lib/sass/plugin.rb +8 -4
- data/lib/sass/plugin/compiler.rb +67 -93
- data/lib/sass/plugin/configuration.rb +2 -0
- data/lib/sass/plugin/staleness_checker.rb +4 -14
- data/lib/sass/repl.rb +3 -2
- data/lib/sass/script.rb +1 -0
- data/lib/sass/script/color.rb +9 -4
- data/lib/sass/script/funcall.rb +3 -16
- data/lib/sass/script/functions.rb +55 -98
- data/lib/sass/script/interpolation.rb +0 -9
- data/lib/sass/script/lexer.rb +4 -2
- data/lib/sass/script/list.rb +0 -8
- data/lib/sass/script/literal.rb +20 -5
- data/lib/sass/script/node.rb +0 -8
- data/lib/sass/script/number.rb +11 -35
- data/lib/sass/script/operation.rb +0 -16
- data/lib/sass/script/parser.rb +5 -12
- data/lib/sass/script/string_interpolation.rb +0 -9
- data/lib/sass/script/unary_operation.rb +0 -7
- data/lib/sass/script/variable.rb +1 -5
- data/lib/sass/scss/parser.rb +54 -191
- data/lib/sass/scss/rx.rb +3 -15
- data/lib/sass/scss/static_parser.rb +3 -3
- data/lib/sass/selector.rb +3 -15
- data/lib/sass/selector/abstract_sequence.rb +2 -11
- data/lib/sass/selector/comma_sequence.rb +3 -8
- data/lib/sass/selector/sequence.rb +11 -74
- data/lib/sass/selector/simple.rb +1 -7
- data/lib/sass/selector/simple_sequence.rb +8 -28
- data/lib/sass/shared.rb +5 -3
- data/lib/sass/tree/comment_node.rb +12 -25
- data/lib/sass/tree/debug_node.rb +1 -1
- data/lib/sass/tree/directive_node.rb +0 -5
- data/lib/sass/tree/each_node.rb +1 -1
- data/lib/sass/tree/extend_node.rb +1 -1
- data/lib/sass/tree/for_node.rb +2 -2
- data/lib/sass/tree/function_node.rb +1 -1
- data/lib/sass/tree/if_node.rb +14 -1
- data/lib/sass/tree/media_node.rb +4 -4
- data/lib/sass/tree/mixin_def_node.rb +1 -1
- data/lib/sass/tree/mixin_node.rb +2 -2
- data/lib/sass/tree/node.rb +26 -10
- data/lib/sass/tree/return_node.rb +1 -1
- data/lib/sass/tree/root_node.rb +1 -1
- data/lib/sass/tree/rule_node.rb +11 -9
- data/lib/sass/tree/variable_node.rb +1 -1
- data/lib/sass/tree/visitors/base.rb +1 -1
- data/lib/sass/tree/visitors/check_nesting.rb +36 -29
- data/lib/sass/tree/visitors/convert.rb +9 -16
- data/lib/sass/tree/visitors/cssize.rb +9 -40
- data/lib/sass/tree/visitors/perform.rb +23 -79
- data/lib/sass/tree/visitors/to_css.rb +21 -23
- data/lib/sass/tree/warn_node.rb +1 -1
- data/lib/sass/tree/while_node.rb +1 -1
- data/lib/sass/util.rb +9 -147
- data/lib/sass/version.rb +0 -14
- data/test/sass/cache_test.rb +0 -15
- data/test/sass/conversion_test.rb +8 -50
- data/test/sass/css2sass_test.rb +0 -33
- data/test/sass/engine_test.rb +32 -283
- data/test/sass/extend_test.rb +0 -315
- data/test/sass/functions_test.rb +23 -60
- data/test/sass/importer_test.rb +0 -110
- data/test/sass/more_results/more_import.css +2 -2
- data/test/sass/plugin_test.rb +13 -40
- data/test/sass/results/import.css +2 -2
- data/test/sass/results/import_charset.css +0 -1
- data/test/sass/results/import_charset_1_8.css +0 -1
- data/test/sass/results/import_charset_ibm866.css +0 -1
- data/test/sass/results/scss_import.css +2 -2
- data/test/sass/results/units.css +1 -1
- data/test/sass/script_conversion_test.rb +0 -2
- data/test/sass/script_test.rb +4 -28
- data/test/sass/scss/css_test.rb +1 -79
- data/test/sass/scss/scss_test.rb +16 -96
- data/test/sass/templates/import_charset.sass +0 -2
- data/test/sass/templates/import_charset_1_8.sass +0 -2
- data/test/sass/templates/import_charset_ibm866.sass +0 -2
- data/test/sass/test_helper.rb +1 -1
- data/test/sass/util_test.rb +0 -28
- data/test/test_helper.rb +0 -2
- data/vendor/{listen → fssm}/LICENSE +1 -1
- data/vendor/fssm/README.markdown +55 -0
- data/vendor/fssm/Rakefile +59 -0
- data/vendor/fssm/VERSION.yml +5 -0
- data/vendor/fssm/example.rb +9 -0
- data/vendor/fssm/fssm.gemspec +77 -0
- data/vendor/fssm/lib/fssm.rb +33 -0
- data/vendor/fssm/lib/fssm/backends/fsevents.rb +36 -0
- data/vendor/fssm/lib/fssm/backends/inotify.rb +26 -0
- data/vendor/fssm/lib/fssm/backends/polling.rb +25 -0
- data/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +131 -0
- data/vendor/fssm/lib/fssm/monitor.rb +26 -0
- data/vendor/fssm/lib/fssm/path.rb +91 -0
- data/vendor/fssm/lib/fssm/pathname.rb +502 -0
- data/vendor/fssm/lib/fssm/state/directory.rb +57 -0
- data/vendor/fssm/lib/fssm/state/file.rb +24 -0
- data/vendor/fssm/lib/fssm/support.rb +63 -0
- data/vendor/fssm/lib/fssm/tree.rb +176 -0
- data/vendor/fssm/profile/prof-cache.rb +40 -0
- data/vendor/fssm/profile/prof-fssm-pathname.html +1231 -0
- data/vendor/fssm/profile/prof-pathname.rb +68 -0
- data/vendor/fssm/profile/prof-plain-pathname.html +988 -0
- data/vendor/fssm/profile/prof.html +2379 -0
- data/vendor/fssm/spec/path_spec.rb +75 -0
- data/vendor/fssm/spec/root/duck/quack.txt +0 -0
- data/vendor/fssm/spec/root/file.css +0 -0
- data/vendor/fssm/spec/root/file.rb +0 -0
- data/vendor/fssm/spec/root/file.yml +0 -0
- data/vendor/fssm/spec/root/moo/cow.txt +0 -0
- data/vendor/fssm/spec/spec_helper.rb +14 -0
- metadata +246 -281
- data/VERSION_DATE +0 -1
- data/lib/sass/logger.rb +0 -15
- data/lib/sass/logger/base.rb +0 -32
- data/lib/sass/logger/log_level.rb +0 -49
- data/lib/sass/tree/visitors/deep_copy.rb +0 -87
- data/lib/sass/tree/visitors/extend.rb +0 -42
- data/lib/sass/tree/visitors/set_options.rb +0 -97
- data/lib/sass/util/multibyte_string_scanner.rb +0 -134
- data/test/Gemfile +0 -4
- data/test/Gemfile.lock +0 -19
- data/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
- data/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
- data/test/sass/logger_test.rb +0 -58
- data/test/sass/templates/_double_import_loop2.sass +0 -1
- data/test/sass/templates/bork5.sass +0 -3
- data/test/sass/templates/double_import_loop1.sass +0 -1
- data/test/sass/templates/nested_bork5.sass +0 -2
- data/test/sass/templates/single_import_loop.sass +0 -1
- data/test/sass/util/multibyte_string_scanner_test.rb +0 -147
- data/vendor/listen/CHANGELOG.md +0 -147
- data/vendor/listen/Gemfile +0 -23
- data/vendor/listen/Guardfile +0 -8
- data/vendor/listen/README.md +0 -312
- data/vendor/listen/Rakefile +0 -47
- data/vendor/listen/Vagrantfile +0 -96
- data/vendor/listen/lib/listen.rb +0 -38
- data/vendor/listen/lib/listen/adapter.rb +0 -167
- data/vendor/listen/lib/listen/adapters/darwin.rb +0 -84
- data/vendor/listen/lib/listen/adapters/linux.rb +0 -110
- data/vendor/listen/lib/listen/adapters/polling.rb +0 -66
- data/vendor/listen/lib/listen/adapters/windows.rb +0 -81
- data/vendor/listen/lib/listen/directory_record.rb +0 -318
- data/vendor/listen/lib/listen/listener.rb +0 -203
- data/vendor/listen/lib/listen/multi_listener.rb +0 -121
- data/vendor/listen/lib/listen/turnstile.rb +0 -28
- data/vendor/listen/lib/listen/version.rb +0 -3
- data/vendor/listen/listen.gemspec +0 -26
- data/vendor/listen/spec/listen/adapter_spec.rb +0 -142
- data/vendor/listen/spec/listen/adapters/darwin_spec.rb +0 -31
- data/vendor/listen/spec/listen/adapters/linux_spec.rb +0 -41
- data/vendor/listen/spec/listen/adapters/polling_spec.rb +0 -68
- data/vendor/listen/spec/listen/adapters/windows_spec.rb +0 -24
- data/vendor/listen/spec/listen/directory_record_spec.rb +0 -1138
- data/vendor/listen/spec/listen/listener_spec.rb +0 -155
- data/vendor/listen/spec/listen/multi_listener_spec.rb +0 -156
- data/vendor/listen/spec/listen/turnstile_spec.rb +0 -56
- data/vendor/listen/spec/listen_spec.rb +0 -73
- data/vendor/listen/spec/spec_helper.rb +0 -18
- data/vendor/listen/spec/support/adapter_helper.rb +0 -716
- data/vendor/listen/spec/support/directory_record_helper.rb +0 -55
- data/vendor/listen/spec/support/fixtures_helper.rb +0 -29
- data/vendor/listen/spec/support/listeners_helper.rb +0 -144
- data/vendor/listen/spec/support/platform_helper.rb +0 -11
data/test/sass/scss/scss_test.rb
CHANGED
@@ -118,11 +118,11 @@ SCSS
|
|
118
118
|
def test_warn_directive
|
119
119
|
expected_warning = <<EXPECTATION
|
120
120
|
WARNING: this is a warning
|
121
|
-
|
121
|
+
on line 2 of test_warn_directive_inline.scss
|
122
122
|
|
123
123
|
WARNING: this is a mixin
|
124
|
-
|
125
|
-
|
124
|
+
on line 1 of test_warn_directive_inline.scss, in `foo'
|
125
|
+
from line 3 of test_warn_directive_inline.scss
|
126
126
|
EXPECTATION
|
127
127
|
assert_warning expected_warning do
|
128
128
|
assert_equal <<CSS, render(<<SCSS)
|
@@ -830,16 +830,6 @@ $zzz: zzz;
|
|
830
830
|
SCSS
|
831
831
|
end
|
832
832
|
|
833
|
-
def test_selector_interpolation_at_attr_end
|
834
|
-
assert_equal <<CSS, render(<<SCSS)
|
835
|
-
[foo=zzz] {
|
836
|
-
a: b; }
|
837
|
-
CSS
|
838
|
-
$zzz: zzz;
|
839
|
-
[foo=\#{$zzz}] { a: b; }
|
840
|
-
SCSS
|
841
|
-
end
|
842
|
-
|
843
833
|
def test_selector_interpolation_at_dashes
|
844
834
|
assert_equal <<CSS, render(<<SCSS)
|
845
835
|
div {
|
@@ -902,8 +892,7 @@ SCSS
|
|
902
892
|
end
|
903
893
|
|
904
894
|
def test_uses_property_exception_with_star_hack
|
905
|
-
|
906
|
-
Sass::Util.silence_warnings {render <<SCSS}
|
895
|
+
render <<SCSS
|
907
896
|
foo {
|
908
897
|
*bar:baz [fail]; }
|
909
898
|
SCSS
|
@@ -1040,10 +1029,11 @@ SCSS
|
|
1040
1029
|
end
|
1041
1030
|
|
1042
1031
|
def test_parent_in_mid_selector_error
|
1043
|
-
assert_raise_message(Sass::SyntaxError, <<MESSAGE
|
1032
|
+
assert_raise_message(Sass::SyntaxError, <<MESSAGE) {render <<SCSS}
|
1044
1033
|
Invalid CSS after ".foo": expected "{", was "&.bar"
|
1045
1034
|
|
1046
|
-
|
1035
|
+
In Sass 3, the parent selector & can only be used where element names are valid,
|
1036
|
+
since it could potentially be replaced by an element name.
|
1047
1037
|
MESSAGE
|
1048
1038
|
flim {
|
1049
1039
|
.foo&.bar {a: b}
|
@@ -1052,10 +1042,11 @@ SCSS
|
|
1052
1042
|
end
|
1053
1043
|
|
1054
1044
|
def test_parent_in_mid_selector_error
|
1055
|
-
assert_raise_message(Sass::SyntaxError, <<MESSAGE
|
1045
|
+
assert_raise_message(Sass::SyntaxError, <<MESSAGE) {render <<SCSS}
|
1056
1046
|
Invalid CSS after " .foo.bar": expected "{", was "& {a: b}"
|
1057
1047
|
|
1058
|
-
|
1048
|
+
In Sass 3, the parent selector & can only be used where element names are valid,
|
1049
|
+
since it could potentially be replaced by an element name.
|
1059
1050
|
MESSAGE
|
1060
1051
|
flim {
|
1061
1052
|
.foo.bar& {a: b}
|
@@ -1064,10 +1055,11 @@ SCSS
|
|
1064
1055
|
end
|
1065
1056
|
|
1066
1057
|
def test_double_parent_selector_error
|
1067
|
-
assert_raise_message(Sass::SyntaxError, <<MESSAGE
|
1058
|
+
assert_raise_message(Sass::SyntaxError, <<MESSAGE) {render <<SCSS}
|
1068
1059
|
Invalid CSS after " &": expected "{", was "& {a: b}"
|
1069
1060
|
|
1070
|
-
|
1061
|
+
In Sass 3, the parent selector & can only be used where element names are valid,
|
1062
|
+
since it could potentially be replaced by an element name.
|
1071
1063
|
MESSAGE
|
1072
1064
|
flim {
|
1073
1065
|
&& {a: b}
|
@@ -1105,45 +1097,6 @@ SCSS
|
|
1105
1097
|
|
1106
1098
|
# Regression
|
1107
1099
|
|
1108
|
-
def test_newline_selector_rendered_multiple_times
|
1109
|
-
assert_equal <<CSS, render(<<SCSS)
|
1110
|
-
form input,
|
1111
|
-
form select {
|
1112
|
-
color: white; }
|
1113
|
-
|
1114
|
-
form input,
|
1115
|
-
form select {
|
1116
|
-
color: white; }
|
1117
|
-
CSS
|
1118
|
-
@for $i from 1 through 2 {
|
1119
|
-
form {
|
1120
|
-
input,
|
1121
|
-
select {
|
1122
|
-
color: white;
|
1123
|
-
}
|
1124
|
-
}
|
1125
|
-
}
|
1126
|
-
SCSS
|
1127
|
-
end
|
1128
|
-
|
1129
|
-
def test_prop_name_interpolation_after_hyphen
|
1130
|
-
assert_equal <<CSS, render(<<SCSS)
|
1131
|
-
a {
|
1132
|
-
-foo-bar: b; }
|
1133
|
-
CSS
|
1134
|
-
a { -\#{"foo"}-bar: b; }
|
1135
|
-
SCSS
|
1136
|
-
end
|
1137
|
-
|
1138
|
-
def test_star_plus_and_parent
|
1139
|
-
assert_equal <<CSS, render(<<SCSS)
|
1140
|
-
* + html foo {
|
1141
|
-
a: b; }
|
1142
|
-
CSS
|
1143
|
-
foo {*+html & {a: b}}
|
1144
|
-
SCSS
|
1145
|
-
end
|
1146
|
-
|
1147
1100
|
def test_weird_added_space
|
1148
1101
|
assert_equal <<CSS, render(<<SCSS)
|
1149
1102
|
foo {
|
@@ -1255,11 +1208,11 @@ SCSS
|
|
1255
1208
|
|
1256
1209
|
|
1257
1210
|
def test_newlines_removed_from_selectors_when_compressed
|
1258
|
-
assert_equal <<CSS, render(<<SCSS, :style
|
1211
|
+
assert_equal <<CSS, render(<<SCSS, :style=>:compressed)
|
1259
1212
|
z a,z b{display:block}
|
1260
1213
|
CSS
|
1261
|
-
a
|
1262
|
-
|
1214
|
+
a,
|
1215
|
+
b {
|
1263
1216
|
z & {
|
1264
1217
|
display: block;
|
1265
1218
|
}
|
@@ -1293,37 +1246,4 @@ foo {
|
|
1293
1246
|
c: $var3; }
|
1294
1247
|
SCSS
|
1295
1248
|
end
|
1296
|
-
|
1297
|
-
def test_options_passed_to_script
|
1298
|
-
assert_equal <<CSS, render(<<SCSS, :style => :compressed)
|
1299
|
-
foo{color:#000}
|
1300
|
-
CSS
|
1301
|
-
foo {color: darken(black, 10%)}
|
1302
|
-
SCSS
|
1303
|
-
end
|
1304
|
-
|
1305
|
-
# ref: https://github.com/nex3/sass/issues/104
|
1306
|
-
def test_no_buffer_overflow
|
1307
|
-
template = render <<SCSS
|
1308
|
-
.aaa {
|
1309
|
-
background-color: white;
|
1310
|
-
}
|
1311
|
-
.aaa .aaa .aaa {
|
1312
|
-
background-color: black;
|
1313
|
-
}
|
1314
|
-
.bbb {
|
1315
|
-
@extend .aaa;
|
1316
|
-
}
|
1317
|
-
.xxx {
|
1318
|
-
@extend .bbb;
|
1319
|
-
}
|
1320
|
-
.yyy {
|
1321
|
-
@extend .bbb;
|
1322
|
-
}
|
1323
|
-
.zzz {
|
1324
|
-
@extend .bbb;
|
1325
|
-
}
|
1326
|
-
SCSS
|
1327
|
-
Sass::SCSS::Parser.new(template, "test.scss").parse
|
1328
|
-
end
|
1329
1249
|
end
|
data/test/sass/test_helper.rb
CHANGED
data/test/sass/util_test.rb
CHANGED
@@ -120,16 +120,6 @@ class UtilTest < Test::Unit::TestCase
|
|
120
120
|
lcs([-5, 3, 2, 8], [-4, 1, 8]) {|a, b| (a - b).abs <= 1 && [a, b].max})
|
121
121
|
end
|
122
122
|
|
123
|
-
def test_subsequence
|
124
|
-
assert(subsequence?([1, 2, 3], [1, 2, 3]))
|
125
|
-
assert(subsequence?([1, 2, 3], [1, :a, 2, :b, 3]))
|
126
|
-
assert(subsequence?([1, 2, 3], [:a, 1, :b, :c, 2, :d, 3, :e, :f]))
|
127
|
-
|
128
|
-
assert(!subsequence?([1, 2, 3], [1, 2]))
|
129
|
-
assert(!subsequence?([1, 2, 3], [1, 3, 2]))
|
130
|
-
assert(!subsequence?([1, 2, 3], [3, 2, 1]))
|
131
|
-
end
|
132
|
-
|
133
123
|
def test_silence_warnings
|
134
124
|
old_stderr, $stderr = $stderr, StringIO.new
|
135
125
|
warn "Out"
|
@@ -169,12 +159,6 @@ class UtilTest < Test::Unit::TestCase
|
|
169
159
|
enum_cons(%w[foo bar baz], 2).map {|s1, s2| "#{s1}#{s2}"})
|
170
160
|
end
|
171
161
|
|
172
|
-
def test_extract
|
173
|
-
arr = [1, 2, 3, 4, 5]
|
174
|
-
assert_equal([1, 3, 5], extract!(arr) {|e| e % 2 == 1})
|
175
|
-
assert_equal([2, 4], arr)
|
176
|
-
end
|
177
|
-
|
178
162
|
def test_ord
|
179
163
|
assert_equal(102, ord("f"))
|
180
164
|
assert_equal(98, ord("bar"))
|
@@ -224,18 +208,6 @@ class UtilTest < Test::Unit::TestCase
|
|
224
208
|
assert(set_eql?(s1, s2))
|
225
209
|
end
|
226
210
|
|
227
|
-
def test_extract_and_inject_values
|
228
|
-
test = lambda {|arr| assert_equal(arr, with_extracted_values(arr) {|str| str})}
|
229
|
-
|
230
|
-
test[['foo bar']]
|
231
|
-
test[['foo {12} bar']]
|
232
|
-
test[['foo {{12} bar']]
|
233
|
-
test[['foo {{1', 12, '2} bar']]
|
234
|
-
test[['foo 1', 2, '{3', 4, 5, 6, '{7}', 8]]
|
235
|
-
test[['foo 1', [2, 3, 4], ' bar']]
|
236
|
-
test[['foo ', 1, "\n bar\n", [2, 3, 4], "\n baz"]]
|
237
|
-
end
|
238
|
-
|
239
211
|
def test_caller_info
|
240
212
|
assert_equal(["/tmp/foo.rb", 12, "fizzle"], caller_info("/tmp/foo.rb:12: in `fizzle'"))
|
241
213
|
assert_equal(["/tmp/foo.rb", 12, nil], caller_info("/tmp/foo.rb:12"))
|
data/test/test_helper.rb
CHANGED
@@ -4,10 +4,8 @@ require 'test/unit'
|
|
4
4
|
require 'fileutils'
|
5
5
|
$:.unshift lib_dir unless $:.include?(lib_dir)
|
6
6
|
require 'sass'
|
7
|
-
require 'mathn' if ENV['MATHN'] == 'true'
|
8
7
|
|
9
8
|
Sass::RAILS_LOADED = true unless defined?(Sass::RAILS_LOADED)
|
10
|
-
Encoding.default_external = 'UTF-8' if defined?(Encoding)
|
11
9
|
|
12
10
|
module Sass::Script::Functions
|
13
11
|
def option(name)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
Monitor API
|
2
|
+
===========
|
3
|
+
|
4
|
+
There are three ways you can run the monitor.
|
5
|
+
|
6
|
+
1. call monitor with a path parameter, and define callbacks in a block
|
7
|
+
2. call monitor with a block to configure multiple paths and callbacks
|
8
|
+
3. create a monitor object and run each step manually
|
9
|
+
|
10
|
+
Monitor with path
|
11
|
+
-----------------
|
12
|
+
|
13
|
+
This form watches one path, and enters the run loop automatically. The first parameter is the path to watch, and the second parameter is an optional glob pattern or array of glob patterns that a file must match in order to trigger a callback. The default glob, if ommitted, is `'**/*'`.
|
14
|
+
|
15
|
+
FSSM.monitor('/some/directory/', '**/*') do
|
16
|
+
update {|base, relative|}
|
17
|
+
delete {|base, relative|}
|
18
|
+
create {|base, relative|}
|
19
|
+
end
|
20
|
+
|
21
|
+
Monitor with block
|
22
|
+
------------------
|
23
|
+
|
24
|
+
This form watches one or more paths, and enters the run loop automatically. The glob configuration call can be ommitted, and defaults to `'**/*'`.
|
25
|
+
|
26
|
+
FSSM.monitor do
|
27
|
+
path '/some/directory/' do
|
28
|
+
glob '**/*.yml'
|
29
|
+
|
30
|
+
update {|base, relative|}
|
31
|
+
delete {|base, relative|}
|
32
|
+
create {|base, relative|}
|
33
|
+
end
|
34
|
+
|
35
|
+
path '/some/other/directory/' do
|
36
|
+
update {|base, relative|}
|
37
|
+
delete {|base, relative|}
|
38
|
+
create {|base, relative|}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
Monitor object
|
43
|
+
--------------
|
44
|
+
|
45
|
+
This form doesn't enter the run loop automatically.
|
46
|
+
|
47
|
+
monitor = FSSM::Monitor.new
|
48
|
+
|
49
|
+
monitor.path '/some/directory/' do
|
50
|
+
update {|base, relative|}
|
51
|
+
delete {|base, relative|}
|
52
|
+
create {|base, relative|}
|
53
|
+
end
|
54
|
+
|
55
|
+
monitor.run
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "fssm"
|
8
|
+
gem.summary = %Q{file system state monitor}
|
9
|
+
gem.description = %Q{file system state monitor}
|
10
|
+
gem.email = "ttilley@gmail.com"
|
11
|
+
gem.homepage = "http://github.com/ttilley/fssm"
|
12
|
+
gem.authors = ["Travis Tilley"]
|
13
|
+
gem.add_development_dependency "rspec"
|
14
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
15
|
+
end
|
16
|
+
rescue LoadError
|
17
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
18
|
+
end
|
19
|
+
|
20
|
+
require 'spec/rake/spectask'
|
21
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
22
|
+
spec.libs << 'lib' << 'spec'
|
23
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
24
|
+
end
|
25
|
+
|
26
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
27
|
+
spec.libs << 'lib' << 'spec'
|
28
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
29
|
+
spec.rcov = true
|
30
|
+
end
|
31
|
+
|
32
|
+
task :spec => :check_dependencies
|
33
|
+
|
34
|
+
begin
|
35
|
+
require 'reek/rake_task'
|
36
|
+
Reek::RakeTask.new do |t|
|
37
|
+
t.fail_on_error = true
|
38
|
+
t.verbose = false
|
39
|
+
t.source_files = 'lib/**/*.rb'
|
40
|
+
end
|
41
|
+
rescue LoadError
|
42
|
+
task :reek do
|
43
|
+
abort "Reek is not available. In order to run reek, you must: sudo gem install reek"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
begin
|
48
|
+
require 'roodi'
|
49
|
+
require 'roodi_task'
|
50
|
+
RoodiTask.new do |t|
|
51
|
+
t.verbose = false
|
52
|
+
end
|
53
|
+
rescue LoadError
|
54
|
+
task :roodi do
|
55
|
+
abort "Roodi is not available. In order to run roodi, you must: sudo gem install roodi"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
task :default => :spec
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{fssm}
|
8
|
+
s.version = "0.1.4"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Travis Tilley"]
|
12
|
+
s.date = %q{2010-03-10}
|
13
|
+
s.description = %q{file system state monitor}
|
14
|
+
s.email = %q{ttilley@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.markdown"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.markdown",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION.yml",
|
26
|
+
"example.rb",
|
27
|
+
"fssm.gemspec",
|
28
|
+
"lib/fssm.rb",
|
29
|
+
"lib/fssm/backends/fsevents.rb",
|
30
|
+
"lib/fssm/backends/inotify.rb",
|
31
|
+
"lib/fssm/backends/polling.rb",
|
32
|
+
"lib/fssm/backends/rubycocoa/fsevents.rb",
|
33
|
+
"lib/fssm/monitor.rb",
|
34
|
+
"lib/fssm/path.rb",
|
35
|
+
"lib/fssm/pathname.rb",
|
36
|
+
"lib/fssm/state/directory.rb",
|
37
|
+
"lib/fssm/state/file.rb",
|
38
|
+
"lib/fssm/support.rb",
|
39
|
+
"lib/fssm/tree.rb",
|
40
|
+
"profile/prof-cache.rb",
|
41
|
+
"profile/prof-fssm-pathname.html",
|
42
|
+
"profile/prof-pathname.rb",
|
43
|
+
"profile/prof-plain-pathname.html",
|
44
|
+
"profile/prof.html",
|
45
|
+
"spec/path_spec.rb",
|
46
|
+
"spec/root/duck/quack.txt",
|
47
|
+
"spec/root/file.css",
|
48
|
+
"spec/root/file.rb",
|
49
|
+
"spec/root/file.yml",
|
50
|
+
"spec/root/moo/cow.txt",
|
51
|
+
"spec/spec_helper.rb"
|
52
|
+
]
|
53
|
+
s.homepage = %q{http://github.com/ttilley/fssm}
|
54
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
55
|
+
s.require_paths = ["lib"]
|
56
|
+
s.rubygems_version = %q{1.3.6}
|
57
|
+
s.summary = %q{file system state monitor}
|
58
|
+
s.test_files = [
|
59
|
+
"spec/path_spec.rb",
|
60
|
+
"spec/spec_helper.rb",
|
61
|
+
"spec/root/file.rb"
|
62
|
+
]
|
63
|
+
|
64
|
+
if s.respond_to? :specification_version then
|
65
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
66
|
+
s.specification_version = 3
|
67
|
+
|
68
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
69
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
70
|
+
else
|
71
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
72
|
+
end
|
73
|
+
else
|
74
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|