iamsure 0.9.0 → 1.0.1
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/Gemfile.lock +1 -1
- data/README.md +1 -0
- data/lib/iamsure.rb +38 -40
- data/lib/iamsure/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9edd6d049832f4f37c633cf3535215ba280a6f548615f62875e383872ffbae05
|
|
4
|
+
data.tar.gz: 13b53c1b6ad58ee226ed4afb56f8f4fc3388854e294afac9a70f83cef5750e3e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f087f00fee3ee9d93993c7603998ccca7f8ab995ff5f32201f7836eca5159a915aaebc3de2b174fc307fe8292b8b32656d6c2d755913969181bece09fd7893c3
|
|
7
|
+
data.tar.gz: 96a238c851d634fd5705f0dc8ba9305d202a3a52bd735465ff76e48aa4a7995f3821588f2147ac4f4ec35f20d342aead2736d34e4e1c276e3919eb0e358d632c
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|

|
|
3
3
|

|
|
4
|
+

|
|
4
5
|
# Iamsure
|
|
5
6
|
|
|
6
7
|
IamSure is a precondition checker by chaining conditions next one another.
|
data/lib/iamsure.rb
CHANGED
|
@@ -2,56 +2,54 @@ require "iamsure/version"
|
|
|
2
2
|
require 'iamsure/initiator'
|
|
3
3
|
require 'iamsure/unpacker'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
class IamSure
|
|
5
|
+
class IamSure
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
private_class_method :new
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
def initialize(obj)
|
|
10
|
+
@obj = obj
|
|
11
|
+
end
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
def self.of(obj)
|
|
14
|
+
new(obj)
|
|
15
|
+
end
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
def not_nil(msg='')
|
|
18
|
+
raise ArgumentError.new msg if @obj.nil?
|
|
19
|
+
self
|
|
20
|
+
end
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
def not_empty(msg='')
|
|
23
|
+
raise ArgumentError.new msg if @obj.nil? || @obj.empty?
|
|
24
|
+
self
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def exist(as=:file)
|
|
28
|
+
raise ArgumentError.new 'Argument cannot be nil' if as.nil?
|
|
29
|
+
raise ArgumentError.new "Argument should be Hash as 'as: :file' or 'as: :dir'" if not as.is_a?(Hash)
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
raise ArgumentError.new
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
elsif as.has_key?(:as) && as[:as] == :dir
|
|
35
|
-
raise ArgumentError.new "Dir (#{ @obj }) does not exist!" if not File.directory?(@obj)
|
|
36
|
-
else
|
|
37
|
-
raise ArgumentError.new "Argument (#{ as }) is not valid!"
|
|
38
|
-
end
|
|
39
|
-
self
|
|
31
|
+
if as.has_key?(:as) && as[:as] == :file
|
|
32
|
+
raise ArgumentError.new "File (#{ @obj }) does not exist!" if not File.file?(@obj)
|
|
33
|
+
elsif as.has_key?(:as) && as[:as] == :dir
|
|
34
|
+
raise ArgumentError.new "Dir (#{ @obj }) does not exist!" if not File.directory?(@obj)
|
|
35
|
+
else
|
|
36
|
+
raise ArgumentError.new "Argument (#{ as }) is not valid!"
|
|
40
37
|
end
|
|
38
|
+
self
|
|
39
|
+
end
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
def unpack(unpacker)
|
|
42
|
+
raise ArgumentError.new "Argument cannot be nil!" if unpacker.nil?
|
|
43
|
+
raise ArgumentError.new "Argument should be Unpacker!" unless unpacker.is_a?(Iamsure::Unpacker)
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
@obj = unpacker.unpack(@obj)
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
self
|
|
48
|
+
end
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
end
|
|
50
|
+
def get(initiator=nil)
|
|
51
|
+
return @obj if initiator.nil?
|
|
52
|
+
return initiator.init(@obj) if initiator.is_a?(Iamsure::Initiator)
|
|
53
|
+
raise ArgumentError.new "initiator should be empty or inherited from Initiator"
|
|
56
54
|
end
|
|
57
55
|
end
|
data/lib/iamsure/version.rb
CHANGED