Checked 0.1.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/Checked.gemspec +2 -3
  2. data/lib/Checked.rb +21 -9
  3. data/lib/Checked/Ask/Arrays.rb +31 -0
  4. data/lib/Checked/Ask/Ask.rb +21 -0
  5. data/lib/Checked/Ask/Strings.rb +27 -0
  6. data/lib/Checked/Ask/Vars.rb +21 -0
  7. data/lib/Checked/Base/Arch.rb +20 -0
  8. data/lib/Checked/Base/Base.rb +110 -0
  9. data/lib/Checked/Base/DSL.rb +73 -0
  10. data/lib/Checked/Base/DSL_Obj.rb +35 -0
  11. data/lib/Checked/{Clean.rb → Clean/Clean.rb} +1 -4
  12. data/lib/Checked/Clean/Strings.rb +94 -0
  13. data/lib/Checked/Demand/Arrays.rb +78 -0
  14. data/lib/Checked/Demand/Bools.rb +28 -0
  15. data/lib/Checked/{Demand.rb → Demand/Demand.rb} +12 -11
  16. data/lib/Checked/Demand/File_Paths.rb +63 -0
  17. data/lib/Checked/Demand/Hashs.rb +29 -0
  18. data/lib/Checked/Demand/Strings.rb +66 -0
  19. data/lib/Checked/Demand/Symbols.rb +21 -0
  20. data/lib/Checked/Demand/Vars.rb +65 -0
  21. data/lib/Checked/version.rb +1 -1
  22. data/spec/main.rb +5 -1
  23. data/spec/tests/Ask.rb +126 -8
  24. data/spec/tests/Clean.rb +66 -8
  25. data/spec/tests/DSL.rb +31 -0
  26. data/spec/tests/Demand.rb +220 -29
  27. metadata +38 -32
  28. data/lib/Checked/Args.rb +0 -55
  29. data/lib/Checked/Ask.rb +0 -69
  30. data/lib/Checked/Ask/DSL.rb +0 -31
  31. data/lib/Checked/Ask/Mods/Arrays.rb +0 -25
  32. data/lib/Checked/Ask/Mods/Strings.rb +0 -26
  33. data/lib/Checked/Ask/Mods/Vars.rb +0 -12
  34. data/lib/Checked/Base.rb +0 -119
  35. data/lib/Checked/Clean/DSL.rb +0 -16
  36. data/lib/Checked/Clean/Mods/Strings.rb +0 -104
  37. data/lib/Checked/Demand/DSL.rb +0 -29
  38. data/lib/Checked/Demand/Mods/Arrays.rb +0 -72
  39. data/lib/Checked/Demand/Mods/Bools.rb +0 -37
  40. data/lib/Checked/Demand/Mods/File_Addresses.rb +0 -59
  41. data/lib/Checked/Demand/Mods/Strings.rb +0 -51
  42. data/lib/Checked/Demand/Mods/Symbols.rb +0 -20
  43. data/lib/Checked/Demand/Mods/Vars.rb +0 -91
  44. data/spec/tests/Ask_Strings.rb +0 -57
  45. data/spec/tests/Checked.rb +0 -43
  46. data/spec/tests/Clean_Strings.rb +0 -76
  47. data/spec/tests/Demand_Arrays.rb +0 -31
  48. data/spec/tests/Demand_File_Addresses.rb +0 -61
  49. data/spec/tests/Demand_Vars.rb +0 -19
@@ -1,76 +0,0 @@
1
-
2
- shared "Clean" do
3
-
4
- extend Checked::Clean::DSL
5
-
6
- end # === shared
7
-
8
- describe "Clean :chop_ext" do
9
-
10
- behaves_like 'Clean'
11
-
12
- it "should chop off the extension of a file string: /etc/something.txt" do
13
- clean("/etc/something.txt", :chop_ext).should == '/etc/something'
14
- end
15
-
16
- it "should chop off the extension of a file string: /etc/something.rb" do
17
- clean("/etc/something.rb", :chop_rb).should == '/etc/something'
18
- end
19
-
20
- it "should not chop off a non-.rb extension for :chop_rb" do
21
- clean("/etc/something.rbs", :chop_rb).should == '/etc/something.rbs'
22
- end
23
-
24
- it "should not chop off an extension if it has not" do
25
- clean("/etc/something", :chop_rb).should == '/etc/something'
26
- end
27
-
28
- it "should not chop off an extension if it includes '.' in a dir: /etc/rc.d/x-something" do
29
- clean("/etc/rc.d/x-something", :chop_rb).should == '/etc/rc.d/x-something'
30
- end
31
-
32
- end # === describe
33
-
34
- describe "Clean :ruby_name" do
35
-
36
- behaves_like 'Clean'
37
-
38
- it 'should return the basename without .rb' do
39
- clean("/dir/some.path/String.rb", :ruby_name).should.be == 'String'
40
- end
41
-
42
- it 'should be the equivalent to :chop_rb if it is just a filename without a dir' do
43
- clean("String.rb", :ruby_name).should.be == 'String'
44
- end
45
-
46
- end # === describe :ruby_name
47
-
48
- describe "Clean :chop_slash_r" do
49
-
50
- behaves_like 'Clean'
51
-
52
- it "should remove all instances of \\r" do
53
- string = %@
54
- Hi\r\n
55
- Ok\r\n
56
- @
57
- clean(string, :chop_slash_r).should.be == string.gsub("\r", '')
58
- end
59
-
60
-
61
- end # === describe :chop_slash_r
62
-
63
-
64
- describe "Clean :os_stardard" do
65
-
66
- behaves_like 'Clean'
67
-
68
- it "should remove all \\r and strip" do
69
- string = %@
70
- Hi\r\n
71
- Ok\r\n
72
- @
73
- clean(string, :os_stardard).should.be == string.strip.gsub("\r", '')
74
- end
75
-
76
- end # === describe
@@ -1,31 +0,0 @@
1
-
2
- describe "demand :symbols!" do
3
-
4
- before {
5
- @fail = Checked::Demand::Failed
6
- @d = lambda { |val|
7
- d=Checked::Demand.new(val)
8
- d << :symbols!
9
- d.target
10
- }
11
- }
12
-
13
- it 'must require Array' do
14
- m = should.raise(NoMethodError) {
15
- @d.call :sym
16
- }.message
17
- m.should.include "Symbol, :sym, can not demand symbols!, which is found in"
18
- m.should.include "in: Arrays"
19
- end
20
-
21
- it 'must require Array be non-empty.' do
22
- should.raise(@fail) {
23
- @d.call( [] )
24
- }.message.should.be == "Array, [], can't be empty."
25
- end
26
-
27
- it 'must pass for Array of single Symbol instance' do
28
- @d.call([:sym]).should.be == [:sym]
29
- end
30
-
31
- end # === describe Demand for Arrays
@@ -1,61 +0,0 @@
1
- describe "Demand file_address!" do
2
-
3
- it 'must fail if string has control characters' do
4
- lambda {
5
- d = Checked::Demand.new(File.expand_path "~/\tbashee")
6
- d.<< :file_address!
7
- }.should.raise(Checked::Demand::Failed)
8
- .message.should.match %r!has invalid characters: !
9
- end
10
-
11
- end # === describe Demand file_address!
12
-
13
-
14
- describe "Demand not_dir!" do
15
-
16
- it 'must fail for an existing dir' do
17
- lambda {
18
- d = Checked::Demand.new(File.expand_path "~/")
19
- d.<< :not_dir!
20
- }.should.raise(Checked::Demand::Failed)
21
- end
22
-
23
- end # === describe Demand not_dir!
24
-
25
-
26
-
27
- describe "Demand not_file!" do
28
-
29
- it 'must fail for an existing file' do
30
- lambda {
31
- d = Checked::Demand.new(File.expand_path "~/.bashrc")
32
- d.<< :not_file!
33
- }.should.raise(Checked::Demand::Failed)
34
- end
35
-
36
- end # === describe Demand not_file!
37
-
38
-
39
- describe "Demand :file_content!" do
40
-
41
- it 'must fail for an empty string' do
42
- lambda {
43
- d = Checked::Demand.new('')
44
- d.<< :file_content!
45
- }.should.raise(Checked::Demand::Failed)
46
- .message.should.be == "String, \"\", can't be empty."
47
- end
48
-
49
- end # === describe Demand :file_content!
50
-
51
- describe "Demand :hostname!" do
52
-
53
- it 'must not contain whitespace' do
54
- lambda {
55
- d = Checked::Demand.new('some name')
56
- d.<< :hostname!
57
- }.should.raise(Checked::Demand::Failed)
58
- .message.should.be == 'String, "some name", has invalid characters: " "'
59
- end
60
-
61
- end # === describe Demand :hostname!
@@ -1,19 +0,0 @@
1
-
2
- describe "demand a! (certain class)" do
3
-
4
- before do
5
- @fail = Checked::Demand::Failed
6
- @d = lambda { |val, k|
7
- d = Checked::Demand.new(val)
8
- d.a! k
9
- d.target
10
- }
11
- end
12
-
13
- it 'must fail if invalid class' do
14
- should.raise(@fail) {
15
- @d.call('', Symbol)
16
- }.message.should.include 'can only be of class/module: Symbol'
17
- end
18
-
19
- end # === describe demand a! (certain class)